diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/.gitignore b/tracks/qcs/solutions/WangTheoPhys/issue33/.gitignore new file mode 100644 index 000000000..821ff313d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/.gitignore @@ -0,0 +1,11 @@ +.venv/ +__pycache__/ +*.py[cod] +.pytest_cache/ +.coverage +*.egg-info/ +dist/ +build/ +.DS_Store +.omx/ +outputs/*.tmp diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/README.md b/tracks/qcs/solutions/WangTheoPhys/issue33/README.md new file mode 100644 index 000000000..36c335863 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/README.md @@ -0,0 +1,276 @@ +# VQETape + +**A differentiated co-design compiler for exact VQE.** + +> Compile the forward contraction, reverse program, and variational ansatz as +> one optimization problem. + +VQETape automatically constructs, validates, and measures exact classical +programs for + +\[ +\theta \mapsto \left(E(\theta), \nabla_\theta E(\theta)\right). +\] + +Tensor-network frameworks already optimize forward contraction graphs. +VQETape expands the compiler search space to include algebraic transpose +programs, saved residuals, checkpoint schedules, symmetry sectors, optimizer +state, initialization, and adaptive ansatz growth. Every selectable program +shares one correctness contract and one measured cost model. + +## Challenge delivery + +| | | +|---|---| +| **Team** | Ranger | +| **Member** | Junkai Wang | +| **Challenge** | [QuantumBFS/quantum.harness #33](https://github.com/QuantumBFS/quantum.harness/issues/33), released by Shi-Xin Zhang | +| **Track** | Quantum circuit simulation (`qcs`) | +| **Pull request** | [QuantumBFS/quantum.harness #263](https://github.com/QuantumBFS/quantum.harness/pull/263) | +| **Public showcase** | [JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe](https://github.com/JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe) | +| **Core result** | Controlled same-machine TensorCircuit-NG threshold crossed on the declared amortized objective and host RSS | + +### Demonstrated result + +The controlled RTX 3090 comparison uses the same open-boundary TFIM workload, +node, seed, precision policy, energy, complete gradient, and synchronization +boundaries for TensorCircuit-NG 1.8.0 and all VQETape candidates. + +| Metric | TensorCircuit-NG / OMECo | VQETape / spatial block-2 | Result | +|---|---:|---:|---:| +| Compile + first + 100 warm | 18.2720 s | **16.7781 s** | **8.2% improvement** | +| Host peak RSS | 661.3 MiB | **473.9 MiB** | **28.3% reduction** | +| Job-level NVML sample | 272 MiB | 274 MiB | 272–274 MiB measured range | + +The current warm-kernel reference is 2.6577 ms for TensorCircuit-NG. The +VQETape statevector frontier is 3.3785 ms, giving the next compiler pass a +precise fusion target. The selected spatial program optimizes the declared +100-step horizon and records 8.3281 ms warm execution. + +### Validated protocol + +The TensorCircuit-NG Fig. 2 runner implements the SU(4) ladder ansatz, +`15 * L * (N - 1)` parameters, TensorNetwork FiniteTFI MPO construction, +find/execute separation, slicing controls, and checksum-bound JSON path +artifacts. An RTX 3080 execution at `N=6,L=3` records: + +- energy error: **2.38e-7**; +- complete-gradient relative L2 error: **3.29e-7**. + +The paper-comparable `N=32,L=16` execution is the declared scale-up target for +this validated protocol. + +### Adaptive ansatz result + +A commutator-complete YZ/ZY pool expands the tangent space exposed by the +optimized plus-state TFIM seed. Exact insertion gradients, Fubini–Study +normalization, algebraic redundancy checks, and contraction-cost deltas drive +selection. Under the audited comparison budget: + +- the adaptive 10-parameter circuit reaches **5.05e-11** energy error; +- the fixed 14-parameter control records **1.70e-7** energy error. + +## Four compiler innovations + +### 1. Differentiated contraction programming + +`explicit_vjp.py` serializes a contraction tree and constructs its algebraic +transpose. `ad_analysis.py` measures forward and backward FLOPs, tensor +traffic, saved residuals, peak live residuals, and the largest intermediates. +The reverse program becomes a first-class compiler object with selectable +checkpoint policy. + +### 2. Exact spatial-transfer lowering + +`spatial_programs.py` lowers the bra–MPO–ket network into first, repeated bulk, +optional tail, and last programs. The recurrence carries only the exact +boundary + +\[ +D=\chi_H r^{2L}=3\cdot4^L +\] + +and directly fuses it into each bulk contraction. The search compares block +width, scan/unroll policy, rematerialization, segmented custom adjoints, +explicit contraction-tree VJPs, and exact positive global-X symmetry. + +### 3. Commutator-complete ansatz compilation + +`ansatz_signals.py` computes exact insertion gradients and Fubini–Study metric +diagonals. `ansatz_selection.py` combines the normalized physics signal with +the differentiated contraction-cost delta and deterministic redundancy rules. +The circuit structure and its execution program therefore evolve together. + +### 4. Correctness-gated auto-evaluation + +Candidates run in isolated processes and record compilation, first execution, +warm execution, host RSS, compiler temporaries, logical residuals, device +samples, energy, and complete gradient. The precision bridge maps the declared +JAX policy into TensorNetwork's cached backend so precision becomes an explicit +and reproducible numerical contract. + +## Why joint co-design matters + +Forward-only path optimization sees a contraction tree. Checkpoint tuning sees +a tape. Ansatz selection sees a quantum tangent space. Optimizer selection sees +an iteration trajectory. VQETape joins these views: + +```text +physics specification + ↓ +forward tensor program ── reverse program ── residual/checkpoint schedule + ↓ ↓ ↓ +exact value-gradient gate ── measured cost vector ── Pareto selection + ↑ ↓ +optimizer / initialization / adaptive ansatz ← compiler feedback +``` + +This makes cross-layer exchanges directly expressible: a candidate +may spend additional forward FLOPs to shrink a live tape, select a gate that +improves both energy descent and boundary dimension, or prefer a program whose +compilation profile wins at the expected VQE horizon. + +## Reviewer package + +| Artifact | Purpose | +|---|---| +| [Technical report (PDF)](submission/output/pdf/vqetape-technical-report.pdf) | Seven-page visual report: thesis, matched result, innovations, verification, and trajectory | +| [Technical report (Markdown)](submission/vqetape-technical-report.md) | Searchable narrative with exact values and reproduction commands | +| [Standalone HTML report](submission/report.html) | Browser-ready executive review | +| [Matched benchmark TSV](submission/vqetape-matched-benchmark.tsv) | Four exact RTX 3090 rows for downstream analysis | +| [Result map](submission/submission-status.txt) | Demonstrated results, measured trade-offs, and scale-up target | +| [Structured report JSON](submission/report.json) | Machine-readable report blocks and benchmark table | +| [Artifact manifest](submission/artifact-manifest.json) | SHA256 binding for review artifacts and canonical evidence | + +Rebuild every generated artifact from the committed canonical JSON: + +```bash +python scripts/build_submission_report.py +``` + +## Installation + +Use Python 3.12: + +```bash +python3.12 -m venv .venv +.venv/bin/python -m pip install -e '.[test,baseline]' +export JAX_ENABLE_X64=1 +export JAX_DEFAULT_MATMUL_PRECISION=highest +``` + +## Quick start + +### Python API + +```python +import jax.numpy as jnp + +from vqetape import CompileRequest, TFIMVQESpec, compile_vqe + +request = CompileRequest( + spec=TFIMVQESpec(nqubits=4, depth=4), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, +) +compiled = compile_vqe(request) +energy, gradient = compiled.executable( + jnp.zeros(request.spec.parameter_shape) +) +print(compiled.selected.config.label, energy, gradient.shape) +``` + +### Automatic candidate search + +```bash +vqetape \ + --mode spatial-transfer \ + --nqubits 8 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 3 \ + --output outputs/vqetape-spatial-transfer-report.json +``` + +### Matched TensorCircuit-NG baseline + +```bash +vqetape-tc-baseline \ + --nqubits 10 \ + --depth 4 \ + --seed 33 \ + --warm-repeats 5 \ + --expected-steps 100 \ + --contractor omeco \ + --reference outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json \ + --output outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json +``` + +### Fig. 2 protocol + +```bash +vqetape-tc-fig2 manifest \ + --output outputs/tensorcircuit-ng-fig2-n32-l16-manifest.json +``` + +### Adaptive ansatz comparison + +```bash +vqetape-ansatz \ + --output outputs/vqetape-ansatz-report.json \ + --findings outputs/vqetape-ansatz-findings.md +``` + +## Measurement contract + +- `compile_seconds`: path search, lowering, and explicit compilation in a fresh worker. +- `first_execute_seconds`: first synchronized value-gradient call after compilation. +- `warm_seconds_median` / `warm_seconds_mad`: synchronized repeated calls. +- `peak_rss_bytes`: host-process peak resident memory. +- `jax_memory_analysis`: compiler-reported executable memory fields. +- `residual_profile`: byte-accounted logical reverse-mode values. +- `modeled_checkpoint_bytes`: spatial boundary storage model. +- `nvml_job_peak_mib`: job-level device sample with its original provenance. + +The declared selection objective is + +\[ +T_{\mathrm{objective}} +=T_{\mathrm{compile}}+T_{\mathrm{first}}+100T_{\mathrm{warm}}. +\] + +Every selected candidate satisfies an exact value and complete-gradient gate. +Memory fields retain distinct semantics throughout collection and reporting. + +## Verification + +- Fresh full regression: **406 tests passed**, with six declared structural cases. +- Targeted TensorCircuit-NG baseline and Fig. 2 suite: **17 tests passed**. +- All 27 committed evidence JSON files parse. +- All `src/vqetape` Python modules compile. +- The artifact manifest binds generated reports and canonical inputs by SHA256. + +Run locally: + +```bash +python -m pytest -q +python scripts/build_submission_report.py +git diff --check +``` + +## Research trajectory + +The implementation establishes exact differentiated-program compilation on +one-dimensional TFIM and longitudinal-Ising workloads. The next measured +frontiers are: + +1. fuse the reverse-program controls with the TensorCircuit-NG warm-kernel reference; +2. execute the validated Fig. 2 protocol at `N=32,L=16`; +3. extend the same IR to sliced two-dimensional and multi-GPU programs; +4. add approximate MPS and chemistry operator pools behind the same correctness and provenance contract. + +Design rationale and implementation planning are recorded in +[the approved delivery design](docs/plans/2026-07-30-positive-delivery-design.md), +[the delivery implementation plan](docs/superpowers/plans/2026-07-30-positive-delivery.md), +and [the original VQETape design](docs/plans/2026-07-28-vqetape-design.md). diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-28-vqetape-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-28-vqetape-design.md new file mode 100644 index 000000000..5df3ced89 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-28-vqetape-design.md @@ -0,0 +1,396 @@ +# VQETape Design + +**Date:** 2026-07-28 + +## 1. Purpose + +VQETape is a research compiler for exact classical simulation of the core +Variational Quantum Eigensolver (VQE) kernel: + +\[ +\theta \mapsto \left(E(\theta), \nabla_\theta E(\theta)\right),\qquad +E(\theta)=\langle\psi(\theta)|H|\psi(\theta)\rangle. +\] + +It jointly selects a tensor-contraction program and a reverse-mode residual +schedule under a device-memory budget. The first prototype is intended to +test one falsifiable hypothesis: + +> Jointly changing the forward contraction program and its reverse-mode tape +> schedule can produce compile-time, steady-state-time, and peak-memory Pareto +> points that cannot be obtained by contraction-path optimization or generic +> rematerialization alone. + +VQETape is a compiler layer, not a replacement for TensorCircuit-NG, JAX, +cotengra, OMEinsum, or cuTensorNet. + +## 2. First Prototype Scope + +### 2.1 Supported + +- Exact expectation value and full reverse-mode gradient. +- One-dimensional nearest-neighbor circuits. +- Repeated VQE layers with independently parameterized gates. +- Initial product state \(|0\rangle^{\otimes n}\) or + \(|+\rangle^{\otimes n}\). +- `RX`, `RZ`, and `RZZ` parameterized gates. +- Open-boundary 1D TFIM Hamiltonian. +- JAX execution on CPU or GPU. +- `complex64` and `complex128`. +- Two forward programs: + - an unrolled state-vector reference; + - a rolled `jax.lax.scan` state-vector program. +- Three reverse schedules: + - JAX default reverse mode; + - whole-body `jax.checkpoint`; + - segmented custom VJP with sparse boundary checkpoints. +- Cold compile time, warm value-and-gradient time, static memory analysis, + process peak RSS, numerical error, and Pareto reporting. + +The state-vector prototype intentionally does not yet change the asymptotic +representation. It establishes the IR, schedule, measurement, and correctness +infrastructure with a tractable oracle before direct bra-H-ket tensor programs +are added. + +### 2.2 Explicitly Not Supported in the First Prototype + +- Arbitrary Python program capture. +- Arbitrary TensorCircuit-NG source rewriting. +- Noisy channels, sampling, or shot-based gradients. +- Dynamic circuits or mid-circuit measurement. +- Approximate MPS truncation. +- Multi-GPU or distributed execution. +- Mixed-precision search. +- Classical-optimizer or ansatz co-design. +- Reinforcement-learning search. + +## 3. User Contract + +The public compile request is: + +```python +request = CompileRequest( + spec=TFIMVQESpec( + nqubits=12, + depth=4, + coupling=1.0, + field=1.0, + initial_state="plus", + dtype="complex64", + ), + memory_budget_bytes=8 * 1024**3, + expected_vqe_steps=500, +) + +result = compile_vqe(request) +energy, gradient = result.executable(theta) +``` + +`compile_vqe` returns: + +- the selected executable; +- every valid measured candidate; +- the nondominated Pareto frontier; +- the selected program and schedule configuration; +- a benchmark and correctness report. + +The selected candidate minimizes + +\[ +T_{\mathrm{compile}} + K T_{\mathrm{warm}} +\] + +among candidates satisfying the memory budget and correctness tolerances, +where \(K\) is `expected_vqe_steps`. + +## 4. Architecture + +```text +TFIMVQESpec + | + v +VQE semantic frontend + | + v +VQEProgramIR + | + +--> unrolled program + +--> scan program + | + v +Adjoint schedule generator + | + +--> default + +--> remat + +--> segmented custom VJP + | + v +Static analysis and correctness filter + | + v +Fresh-process benchmark runner + | + v +Pareto frontier and K-aware selection +``` + +The later tensor-network phase extends `VQEProgramIR` with direct +bra-Hamiltonian-ket contractions, MPO lowering, cotengra paths, slicing, and +block contraction bodies without changing the compile or report interfaces. + +## 5. Core Data Model + +### 5.1 `TFIMVQESpec` + +An immutable dataclass containing: + +- `nqubits: int` +- `depth: int` +- `coupling: float` +- `field: float` +- `initial_state: Literal["zero", "plus"]` +- `dtype: Literal["complex64", "complex128"]` + +Validation requires `nqubits >= 2`, `depth >= 1`, finite couplings, and a +supported dtype and initial state. + +The parameter array shape is: + +```text +(depth, 2, nqubits) +``` + +The first parameter row in each layer stores `RZZ` angles. Its last element is +padding and is deliberately unused. The second row stores `RX` angles. + +### 5.2 `ProgramConfig` + +An immutable dataclass containing: + +- `representation: Literal["statevector"]` +- `control_flow: Literal["unrolled", "scan"]` +- `adjoint: Literal["default", "remat", "segmented"]` +- `unroll: int` +- `segment_length: int | None` + +Invalid combinations are rejected. In particular, `segmented` requires +`control_flow="scan"` and a positive `segment_length`. + +### 5.3 `StaticEstimate` + +Contains: + +- `parameter_count` +- `state_bytes` +- `saved_boundary_upper_bound_bytes` +- `estimated_forward_gate_applications` +- `estimated_recompute_gate_applications` + +The segmented saved-boundary upper bound is: + +\[ +M_{\mathrm{boundary}} \leq +\left(\lceil m/s\rceil+s+2\right)2^n b_{\mathrm{complex}}, +\] + +where \(m\) is circuit depth and \(s\) is the segment length. This is an +analytical upper bound, not a replacement for measured memory. + +### 5.4 `CandidateResult` + +Contains: + +- `config` +- `compile_seconds` +- `first_execute_seconds` +- `warm_seconds_median` +- `warm_seconds_mad` +- `peak_rss_bytes` +- optional JAX executable memory-analysis fields +- `energy_abs_error` +- `gradient_relative_l2_error` +- `valid` +- `failure` + +## 6. Numerical Kernel + +### 6.1 Circuit + +The initial state is either \(|0\rangle^{\otimes n}\) or +\(|+\rangle^{\otimes n}\). Each layer applies: + +\[ +\prod_{i=0}^{n-2}R_{ZZ}(\gamma_{\ell i}) +\quad\text{then}\quad +\prod_{i=0}^{n-1}R_X(\beta_{\ell i}). +\] + +The gate convention is: + +\[ +R_X(\beta)=e^{-i\beta X/2},\qquad +R_{ZZ}(\gamma)=e^{-i\gamma Z\otimes Z/2}. +\] + +Gate application reshapes the state to rank \(n\), moves target axes to the +front, performs a small dense matrix multiplication, and restores the original +axis order. This is an oracle-friendly implementation, not the final +tensor-network kernel. + +### 6.2 Hamiltonian + +The open-boundary TFIM Hamiltonian is: + +\[ +H=-J\sum_{i=0}^{n-2}Z_iZ_{i+1}-g\sum_{i=0}^{n-1}X_i. +\] + +Energy is evaluated directly from the state without materializing the dense +\(2^n\times2^n\) Hamiltonian. + +### 6.3 Correctness Reference + +For every candidate: + +- the reference is the unrolled program with JAX default reverse mode; +- energy must satisfy absolute error at most `1e-5` for `complex64` and + `1e-10` for `complex128`; +- gradient relative L2 error must be at most `1e-4` for `complex64` and + `1e-9` for `complex128`; +- all outputs must be finite. + +Small-system tests additionally compare selected gradient coordinates against +central finite differences. + +## 7. Program Generation + +### 7.1 Unrolled + +Python loops over layers and gates are executed while tracing the JIT function, +which produces a statically unrolled JAX program. + +### 7.2 Scan + +`jax.lax.scan` rolls the layer loop into one control-flow operation. Gate loops +inside a layer remain static because qubit count is a compile-time constant. +The `unroll` field controls how many layer iterations are unrolled inside the +scan body. + +### 7.3 Rematerialized Scan + +The scan body is wrapped in `jax.checkpoint`, instructing reverse mode to +recompute body intermediates rather than retaining all of them. + +### 7.4 Segmented Custom VJP + +The segmented program partitions the depth into fixed-size segments. The +forward rule stores only segment-boundary states. During the backward rule, +segments are visited in reverse: + +1. restore the left boundary state; +2. recompute states inside the segment; +3. apply the VJP of that segment to its output cotangent; +4. release segment-local states before processing the previous segment. + +The final partial segment is padded with zero-angle gates and masked so that +all JAX loop shapes remain static. + +The custom VJP returns gradients in the original padded parameter layout, with +the unused final `RZZ` parameter in each layer receiving exactly zero. + +## 8. Candidate Search + +The first prototype enumerates a deliberately small candidate set: + +```text +unrolled/default +scan/default for unroll in {1, 2, 4} +scan/remat for unroll in {1, 2, 4} +scan/segmented for unroll in {1, 2, 4} + for segment_length in divisors and near-sqrt(depth) +``` + +Invalid unroll factors larger than depth are removed. Segment candidates always +include `1`, `depth`, `floor(sqrt(depth))`, and `ceil(sqrt(depth))`, clipped to +the valid range. + +Search uses three filters: + +1. static feasibility under the memory budget; +2. numerical correctness; +3. measured Pareto dominance. + +Candidate \(a\) dominates \(b\) when it is no worse in compile time, warm time, +and peak RSS, and strictly better in at least one metric. + +The selected candidate minimizes: + +\[ +T_{\mathrm{compile}} + K T_{\mathrm{warm}} +\] + +over valid Pareto candidates within the memory budget. + +## 9. Measurement Contract + +- Each measured candidate runs in a fresh subprocess. +- JAX asynchronous results are synchronized with `block_until_ready`. +- Compilation time includes lowering and compilation but excludes Python + environment startup. +- First execution is reported separately. +- Warm time reports median and median absolute deviation. +- Process peak RSS is collected with `resource.getrusage`. +- On GPU, JAX executable memory analysis is recorded when available. +- JAX preallocation behavior and relevant environment variables are included + in the report. +- A deterministic PRNG seed generates parameters. + +The first prototype does not claim that process RSS equals GPU peak memory. +GPU allocator or profiler integration is a later milestone. + +## 10. Research Decision Gates + +The prototype supports the research direction only if all of the following are +observed: + +1. At least one non-default schedule reduces a measured or compiler-reported + memory metric. +2. At least one joint program/schedule candidate is nondominated relative to + both path/control-flow-only and rematerialization-only baselines. +3. Correctness tolerances hold for energy and full gradients. +4. Benefits are reproduced at two or more combinations of qubit count and + depth. + +If reverse residuals account for less than 30% of the measured memory delta +between energy-only and value-and-gradient, the next phase prioritizes direct +bra-H-ket contraction and slicing rather than a more sophisticated checkpoint +solver. + +## 11. Later Tensor-Network Extension + +After the oracle prototype passes its decision gates: + +1. lower the VQE objective directly to a bra-Hamiltonian-ket network; +2. support Pauli-sum and MPO Hamiltonian programs; +3. call cotengra/OMEinsum for multiple contraction trees; +4. partition trees into loopable blocks; +5. derive contraction VJPs and residual liveness; +6. jointly search tree, block, unroll, slicing, and tape schedule; +7. add cuTensorNet as an execution backend; +8. add irregular 1D and shallow 2D holdout circuits. + +## 12. Success Criteria for the Repository + +The initial repository is complete when it contains: + +- an installable Python package; +- validated VQE specifications and program configurations; +- correct unrolled and scan energy functions; +- default, rematerialized, and segmented value-and-gradient executables; +- fresh-process benchmark execution; +- Pareto and iteration-aware candidate selection; +- machine-readable JSON reports; +- unit and integration tests; +- a reproducible CLI example; +- documentation that distinguishes static estimates, CPU RSS, JAX memory + analysis, and true GPU peak memory. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-28-vqetape-direct-tn-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-28-vqetape-direct-tn-design.md new file mode 100644 index 000000000..1d470412f --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-28-vqetape-direct-tn-design.md @@ -0,0 +1,108 @@ +# VQETape Direct Tensor-Network Phase Design + +**Date:** 2026-07-28 + +## Outcome + +Add an exact direct scalar tensor-network representation of the same TFIM VQE +objective used by the state-vector oracle. The implementation must never +materialize the full output state as a program result. It must expose the +pairwise contraction program so reverse-mode rematerialization can be selected +per contraction step. + +## Mathematical Network + +For each product-Pauli term \(P_\alpha\), + +\[ +E_\alpha(\theta) += +\langle\psi_0| +U^\dagger(\theta)P_\alpha U(\theta) +|\psi_0\rangle. +\] + +The network contains: + +- one initial-state vector per ket wire; +- one conjugate initial-state vector per bra wire; +- one tensor per ket gate; +- one conjugate tensor per bra gate; +- one rank-2 operator tensor connecting final bra and ket indices per wire. + +All TFIM terms have identical topology because identity operator tensors are +inserted on wires outside each term's support. Only operator values differ, so +one contraction program can be reused for all \(2n-1\) Hamiltonian terms. + +## Static IR + +`TensorNetworkTemplate` stores: + +- the einsum equation; +- ordered tensor slots and their shapes; +- the path-independent index topology; +- parameter-source metadata for every gate slot; +- final wire-operator slot positions. + +`ContractionProgram` stores: + +- path strategy and explicit path; +- opt_einsum contraction-list steps; +- FLOP estimate; +- largest-intermediate element count; +- per-step output byte estimates; +- rematerialized step indices. + +## Runtime Binding + +At execution time, the template binds: + +- initial vectors; +- `RX` and `RZZ` tensors generated from `theta`; +- conjugate copies for bra slots; +- one batch of product-Pauli operator matrices. + +The contraction program executes a trace-time-static Python sequence of +pairwise `jax.numpy.einsum` calls. A selected step is wrapped with +`jax.checkpoint`, allowing JAX reverse mode to recompute that step rather than +retain all of its linearization points. + +## Initial Candidate Space + +- path strategy: `greedy`, `random-greedy`, `auto-hq`; +- step rematerialization: + - `none`; + - `all`; + - `output-ge-threshold`; +- threshold: distinct intermediate byte sizes from the selected path. + +The initial search remains exact. Slicing, MPO Hamiltonians, shared +multi-output environments, and loop/block formation are subsequent extensions. + +## Correctness + +For `nqubits <= 8` and `depth <= 6`, direct-TN energies and full gradients must +match the state-vector oracle within the dtype tolerances already defined by +VQETape. Tests cover: + +- zero parameters; +- deterministic nonzero parameters; +- every path strategy; +- every rematerialization policy; +- padding-parameter zero gradients. + +## Falsifiable Phase Claim + +This phase succeeds only if: + +1. at least two valid contraction paths with different path metrics are + generated for a nontrivial workload; +2. path choice changes measured compile time, warm time, or compiler temporary + memory; +3. per-step rematerialization changes compiler temporary memory for at least + one fixed path; +4. a joint path/rematerialization candidate is nondominated relative to both + best fixed-path/no-remat and fixed-path/all-remat baselines. + +If the final condition fails, VQETape must report that joint optimization is +not supported by the tested workloads rather than claim novelty. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-next-stage-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-next-stage-design.md new file mode 100644 index 000000000..5594829c3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-next-stage-design.md @@ -0,0 +1,431 @@ +# VQETape Differentiation-Aware VQE Co-Design + +**Date:** 2026-07-29 + +**Status:** Approved by the user after review of the measured spatial-transfer +results and the proposed next-stage research directions. + +## Problem + +VQETape now evaluates the exact one-dimensional TFIM VQE kernel + +\[ +\theta\longmapsto +\left(E(\theta),\nabla_\theta E(\theta)\right) +\] + +with three progressively more structured representations: + +1. state-vector execution; +2. one global bra–MPO–ket contraction; +3. an exact rolled spatial transfer with boundary + \(D=3\cdot4^L\). + +The spatial representation reduced the 100-call compile-plus-execute +objective by 4.31x at \(n=8,L=2\) and 8.45x at \(n=12,L=2\). It also reduced +compiler temporary memory and logical reverse-mode tape size. Its remaining +measured weakness is single-call throughput: the best spatial warm kernel is +about 1.26x slower than the best global MPO kernel on the audited CPU +workloads. + +The next stage must improve that warm kernel without losing the rolled +program's compile and memory advantages. It must then extend the optimizer +from forward contraction paths to complete differentiated programs and from +a fixed VQE-call horizon to measured time-to-solution. + +## Goal + +Build an exact, reproducible VQE co-design system with four linked layers: + +1. **Blocked spatial lowering:** contract multiple neighboring sites in one + rolled spatial body while preserving the exact boundary. +2. **Differentiation-aware contraction planning:** score and select paths + using forward work, reverse work, saved residuals, liveness, compiler + complexity, and measured device behavior. +3. **Symmetry-aware execution:** identify exact conserved Abelian charges and + eliminate forbidden spatial-boundary sectors without numerical + approximation. +4. **End-to-solution VQE tuning:** select the execution program, optimizer, + initialization, and ansatz growth rule by wall-clock time and memory needed + to reach a target energy error. + +The complete system remains exact within the configured floating-point +tolerance. Approximate tensor truncation is outside this design. + +## Success criteria + +### Exactness + +- Every blocked, custom-adjoint, symmetry-aware, and VQE-training candidate + agrees with the existing complex128 state-vector or global-MPO oracle where + that oracle is feasible. +- Energy and complete-gradient checks remain mandatory before performance + selection. +- Unused padded RZZ parameters continue to have exactly zero gradient. +- Symmetry compression removes only sectors proven unreachable by discrete + charge propagation. + +### Performance + +- At \(n=12,L=2\), the best blocked spatial candidate targets at least a 20% + reduction in warm value-and-gradient time relative to the current best + spatial result. +- A promoted blocked spatial candidate must preserve a meaningful compile or + compiler-temporary-memory advantage over the best exact global-MPO control. +- AD-aware path ranking must beat or match forward-only ranking on at least + one holdout workload without regressing correctness. +- Large-chain checkpoint claims require measured device or compiler memory; + logical tape and modeled boundary bytes remain separately labeled. + +### VQE outcome + +- Training reports the first iteration and wall-clock time at which + \(E(\theta)-E_0\leq\epsilon\). +- Solver selection includes compile, all value-and-gradient calls, optimizer + overhead, and recompilation caused by ansatz changes. +- A contraction-aware adaptive ansatz must be compared with a fixed ansatz + and ordinary gradient-only adaptive selection under equal search budgets. + +### Generality + +- TFIM remains the exact small-system oracle and first performance workload. +- At least one holdout one-dimensional Hamiltonian or ansatz family must + exercise a different MPO bond dimension or conserved charge. +- Results must distinguish fixed-depth one-dimensional scaling from generic + VQE simulation. + +## Architecture + +### 1. Blocked spatial program + +Replace the one-site recurrence + +\[ +B_{i+1}=F_i(B_i;\theta_i) +\] + +with an exact block recurrence + +\[ +B_{q+1} += +F^{(b)} +\left( +B_q; +\theta_{qb},\ldots,\theta_{qb+b-1} +\right). +\] + +The planner partitions the existing operator-Schmidt bra–MPO–ket template +into first, repeated bulk-block, tail, and last programs. The current boundary +is an explicit operand of every bulk block and is never expanded into a +\(D\times D\) transfer matrix. + +The external boundary remains + +\[ +\operatorname{shape}(B) += +\underbrace{(2,\ldots,2)}_{2L} +\mathbin{\|}(3,), +\qquad +D=3\cdot4^L. +\] + +For a block width \(b\), scan iterations fall from \(n-2\) to approximately +\(\lceil(n-2)/b\rceil\). The block-local graph grows with \(b\), exposing +additional fusion and contraction-order choices while keeping the rolled +body independent of total chain length. + +`SpatialProgramConfig` gains `block_width`. Candidate generation searches: + +\[ +b\in\{1,2,3,4\}, +\qquad +u\in\{1,2,4\}, +\] + +subject to workload size. First, block, tail, and last paths are serialized +once and reused by every AD policy for a fixed representation. + +### 2. Differentiated contraction analysis + +For every binary forward contraction + +\[ +C=\operatorname{contract}(A,B), +\] + +the analyzer constructs the two reverse contractions + +\[ +\bar A=\operatorname{contract}(\bar C,B^*), +\qquad +\bar B=\operatorname{contract}(A^*,\bar C). +\] + +It records: + +- forward FLOPs and largest intermediate; +- reverse FLOPs and largest reverse intermediate; +- residual values required by the reverse graph; +- a deterministic reverse schedule; +- peak live residual elements under that schedule; +- estimated tensor read/write bytes; +- contraction and kernel count; +- StableHLO text size and operation counts when lowering succeeds. + +The first static objective is + +\[ +\mathcal C_{\mathrm{AD}}(p) += +\alpha F_{\mathrm{fwd}} ++\beta F_{\mathrm{bwd}} ++\gamma M_{\mathrm{live}} ++\delta B_{\mathrm{traffic}} ++\eta N_{\mathrm{contraction}}. +\] + +Measured candidate data subsequently calibrates a hardware-specific linear +or log-linear surrogate. Static ranking reduces the number of expensive +fresh-process compilations but never replaces empirical selection. + +### 3. Explicit block adjoint + +The generic reverse-mode baseline remains available. A new custom VJP defines +the block map + +\[ +(B_q,\theta_q,\bar B_{q+1}) +\longmapsto +(\bar B_q,\bar\theta_q) +\] + +using the serialized differentiated contraction program. + +The forward residual contains only values selected by the differentiated +planner. Gate matrices and inexpensive trigonometric values may be +recomputed. Forward and reverse contraction paths may differ. + +Checkpoint policies compare: + +- ordinary reverse mode; +- full block rematerialization; +- selective residual saving; +- segmented block checkpoints for large chains. + +Segment length is not tuned further until a workload contains enough blocks +for its asymptotic storage benefit to be observable. + +### 4. Exact symmetry sectors + +The compiler represents each supported index by an Abelian charge and each +tensor by a charge-conservation rule. For TFIM: + +\[ +S=X^{\otimes n}, +\qquad +[H,S]=0, +\qquad +[U(\theta),S]=0. +\] + +The configured \(|+\rangle^{\otimes n}\) initial state is in the positive +\(\mathbb Z_2\) sector. RZZ Schmidt factors and MPO channels receive explicit +charges. Boundary assignments violating the local conservation rule are +excluded at planning time. + +The first implementation uses a dense gather/scatter reference: + +1. derive active flattened boundary positions; +2. expand a compressed carry only inside the reference transition; +3. contract with the verified dense column program; +4. gather the next active carry. + +After correctness is proven, the production block program contracts only +charge-compatible blocks and does not materialize the dense carry. The +reference remains an oracle. + +Symmetry metadata is part of the serialized program signature. A gate or +Hamiltonian that violates the declared symmetry disables compression rather +than silently producing a partial result. + +### 5. Hardware execution and profiling + +The JAX/XLA implementation remains mandatory and portable. Device reporting +records backend, device kind, JAX version, dtype, and synchronization method. + +On GPU-capable environments the benchmark additionally records: + +- device peak allocation when exposed by the backend; +- XProf trace location; +- executable temporary and argument bytes; +- optional kernel count and HBM traffic from an external profile. + +A Pallas or cuTensorNet block backend is introduced only behind an optional +capability check. Absence of CUDA must skip the backend with an explicit +reason and must not invalidate CPU correctness tests. + +### 6. End-to-solution VQE + +Introduce a training workload: + +```python +@dataclass(frozen=True) +class VQETrainingRequest: + compile_request: CompileRequest + optimizer: Literal["adam", "lbfgs", "natural_gradient"] + target_energy_error: float + max_steps: int + ground_energy: float | None + initialization: Literal["zeros", "random", "recycled"] +``` + +and a result: + +```python +@dataclass(frozen=True) +class VQETrainingResult: + program_label: str + optimizer: str + converged: bool + steps: int + compile_seconds: float + optimization_seconds: float + time_to_target_seconds: float | None + peak_rss_bytes: int + final_energy: float + target_energy: float + trace: tuple[VQEStep, ...] +``` + +The initial solver set is: + +- deterministic gradient descent/Adam for compatibility; +- SciPy L-BFGS-B when the optional dependency is installed; +- a damped block-diagonal natural-gradient reference. + +Parameter recycling maps a converged translation-invariant layer pattern from +one chain length, depth, or nearby coupling to a compatible target workload. +Every initialization is serialized with its provenance. + +### 7. Contraction-aware ansatz growth + +The first adaptive pool contains exact, local, symmetry-compatible operators +already supported by the tensor representation. For a candidate \(A\), the +selector records its energy-gradient signal, optional local metric, and the +predicted change in spatial and compiler cost. + +The score is + +\[ +S(A) += +\frac{|g_A|^2/(F_{AA}+\varepsilon)} +{1 ++\lambda_D\Delta\log D_A ++\lambda_C\Delta T_{\mathrm{compile},A} ++\lambda_W\Delta T_{\mathrm{warm},A} ++\lambda_M\Delta M_A}. +\] + +The comparison set includes: + +- fixed RZZ–RX ansatz; +- gradient-only adaptive selection; +- contraction-aware adaptive selection. + +Dynamic ansatz growth uses a structural cache key. Reusing an executable is +allowed only when topology, tensor shapes, dtype, compiler version, and +device signature match. + +## Data flow + +```text +VQE specification + | + v +Exact tensor template + | + +--> symmetry and operator-Schmidt analysis + | + v +Blocked spatial candidates + | + +--> forward contraction paths + +--> differentiated contraction analysis + +--> AD/checkpoint policies + | + v +Static pruning + | + v +Fresh-process compile and benchmark + | + v +Correctness filter + Pareto frontier + | + v +VQE optimizer / initialization / ansatz search + | + v +Time-to-target report +``` + +## Failure handling + +- Invalid block widths, unroll factors, segment lengths, and path arities are + rejected during configuration construction. +- A serialized path is replanned or rejected if operand shapes differ. +- Missing optional GPU or SciPy capabilities produce a structured skipped + result, never a false pass. +- NaN/Inf energies, gradients, optimizer states, and metric solves invalidate + the candidate. +- Natural-gradient solves add configurable damping and report conditioning or + solver failure. +- Symmetry compression always checks the dense reference on small workloads; + a nonzero supposedly forbidden sector is a hard error. +- Fresh-worker timeout and out-of-memory remain candidate failures and do not + abort other candidates. + +## Testing + +### Unit tests + +- block partition and tail handling for every \(n\bmod b\); +- exact block energy and complete gradient against the one-site program; +- boundary dimension and no-\(D^2\) invariants; +- differentiated FLOP/residual/liveness calculations on hand-checkable + contractions; +- custom block VJP against `jax.vjp`; +- \(\mathbb Z_2\) charge propagation and forbidden-sector detection; +- VQE optimizer stopping, trace serialization, and parameter recycling. + +### Integration tests + +- fixed-path comparisons across default, remat, selective, and custom VJP; +- fresh-process blocked candidate search; +- global-MPO versus blocked-spatial Pareto selection; +- TFIM time-to-target using an exact ground-energy oracle; +- one holdout Hamiltonian or ansatz family; +- optional GPU capability and skip behavior. + +### Regression tests + +All existing state-vector, direct-TN, operator-Schmidt, MPO, spatial, +fresh-worker, and CLI tests remain green. Previous report schemas remain +readable. + +## Staged delivery + +The design is delivered as four independently testable subprojects: + +1. blocked spatial execution and joint autotuning; +2. differentiated contraction analysis and explicit VJP; +3. exact symmetry-aware compression; +4. end-to-solution VQE and contraction-aware ansatz selection. + +GPU profiling is integrated across the stages when a compatible device is +available. Each stage produces a raw JSON report, a human-readable findings +document, and a decision-gate audit before the next stage becomes the default. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-operator-schmidt-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-operator-schmidt-design.md new file mode 100644 index 000000000..b59358930 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-operator-schmidt-design.md @@ -0,0 +1,277 @@ +# VQETape Operator-Schmidt Representation Design + +**Date:** 2026-07-29 +**Status:** Approved +**Scope:** Exact RZZ–RX TFIM VQE value-and-full-gradient programs + +## Motivation + +The current VQETape prototype jointly evaluates tensor-network contraction +paths and reverse-mode residual schedules. It can reduce the logical JAX VJP +tape using named checkpoint policies, but generic step, term, objective, and +subtree rematerialization have not reduced compiler temporary memory on the +small CPU workloads. + +The residual profile identifies two remaining sources of avoidable structure: + +1. dense RZZ gate construction through a 4-by-4 diagonal matrix; and +2. contraction paths chosen for rank-4 tensors that contain mostly zeros. + +The next phase changes the tensor representation before path search. The +research question is whether an exact low operator-Schmidt-rank lowering +changes the best contraction path, reverse tape, and final executable +time–memory trade-off. + +## Goal + +Extend the optimization space from + +\[ +\text{contraction path}\times\text{AD tape} +\] + +to + +\[ +\boxed{ +\text{tensor representation} +\times +\text{contraction path} +\times +\text{AD tape} +}. +\] + +The compiler will compare mathematically equivalent dense and +operator-Schmidt RZZ networks under identical VQE semantics and path-search +budgets. + +## Exact Representations + +### Dense + +The existing representation binds one rank-4 tensor per RZZ gate: + +\[ +G_{o_1o_2i_1i_2}, +\qquad +\operatorname{shape}(G)=(2,2,2,2). +\] + +It is produced by reshaping a 4-by-4 diagonal matrix. It contains 16 complex +elements even though only four are nonzero. + +### Operator Schmidt + +Use the exact identity + +\[ +R_{ZZ}(\theta) += +\cos\frac{\theta}{2}I\otimes I +-i\sin\frac{\theta}{2}Z\otimes Z. +\] + +Introduce a Schmidt bond \(a\in\{0,1\}\) and two rank-3 tensors: + +\[ +R_{ZZ} += +\sum_{a=0}^{1} +L_{o_1i_1a}(\theta) +R_{o_2i_2a}, +\] + +with + +\[ +L_0=\cos\frac{\theta}{2}I,\qquad +L_1=-i\sin\frac{\theta}{2}Z, +\] + +\[ +R_0=I,\qquad R_1=Z. +\] + +This asymmetric factorization avoids square roots of complex coefficients, +branch choices, and the numerical instability that a balanced square-root +factorization could introduce. The bra network binds the exact complex +conjugates. + +## Compiler Configuration + +`TensorProgramConfig` gains: + +```text +gate_representation: + dense + operator_schmidt +``` + +The field is part of serialization, equality, labels, fresh-process transport, +and candidate selection. + +The tensor template builder accepts the same representation choice. Dense +RZZ gates retain one slot. Operator-Schmidt gates produce left and right +factor slots joined by a new dimension-2 internal index. RX, initial-state, +and observable slots are unchanged. + +## Data Flow + +For each representation: + +1. build a closed bra–product-operator–ket topology; +2. bind the same parameters and Pauli term; +3. search a contraction path with the same strategy and search budget; +4. serialize the explicit contraction list; +5. reconstruct the contraction tree; +6. trace JAX's actual saved VJP residuals; +7. assign stable names to factor tensors and contraction outputs; +8. generate default and named residual-budget schedules; +9. benchmark each candidate in a clean process; +10. validate energy and the complete padded gradient against the state-vector + oracle; +11. construct one Pareto frontier across both representations. + +Dense and operator-Schmidt networks cannot reuse the same explicit path +because their topology differs. Fairness is defined by identical path-search +algorithm, search budget, workload, seed, tape-budget policy, and benchmark +procedure. + +## Static and Dynamic Metrics + +Each result reports: + +- representation; +- tensor count; +- total bound tensor elements; +- path FLOPs; +- largest forward intermediate; +- contraction-step count; +- logical saved-residual count and bytes; +- residual bytes by source and name; +- compiler temporary bytes; +- process peak RSS; +- compile time; +- first execution time; +- warm median and MAD; +- energy and gradient errors. + +The report explicitly distinguishes: + +\[ +M_{\text{input tensors}}, +\qquad +M_{\text{logical tape}}, +\qquad +M_{\text{compiler temp}}, +\qquad +M_{\text{device peak}}. +\] + +No one metric is used as a proxy for all four. + +## Candidate Search + +The initial joint search covers: + +\[ +\{\text{dense},\text{operator-Schmidt}\} +\times +\{\text{greedy},\text{random-greedy},\text{auto-hq}\} +\times +\{\text{default},\text{named-empty},\text{named-half},\text{named-full}\}. +\] + +Existing diagnostic policies may remain callable, but the default +representation experiment excludes step, term, objective, and subtree remat +because previous fixed-path experiments rejected them. + +Named budgets are generated independently for each explicit path from that +program's contraction outputs. A logical 50% budget means 50% of the sum of +candidate contraction-output bytes, not 50% of the number of steps. + +## Error Handling and Invariants + +The implementation rejects: + +- unsupported representation names; +- representation/configuration mismatches; +- invalid tensor counts or shapes; +- inconsistent Schmidt bond dimensions; +- paths serialized for another topology; +- named tape values that do not belong to the selected program. + +Required invariants: + +1. the network is closed; +2. every index has a consistent extent; +3. dense and Schmidt energies agree; +4. dense and Schmidt complete gradients agree; +5. the unused final RZZ parameter in every layer has zero gradient; +6. bra factors are exact conjugates of ket factors; +7. candidate comparisons never re-search a path across tape policies. + +## Testing + +### Algebraic unit tests + +- reconstruct dense RZZ from its two factors; +- test several angles including zero, small values, and values near \(\pi\); +- compare ket and bra factor contractions; +- verify `complex64` and locally enabled `complex128`. + +### Template tests + +- verify dense and Schmidt slot kinds and shapes; +- verify every network index occurs exactly twice; +- verify the Schmidt bond has extent 2; +- verify total tensor elements and tensor count. + +### End-to-end correctness + +Compare value and full gradient against the state-vector oracle across: + +- at least two qubit/depth scales; +- zero and plus initial states; +- at least two \(J,g\) pairs; +- dense and Schmidt representations; +- default and named tapes. + +### Search tests + +- every representation/path pair reuses one explicit path across tapes; +- both representations appear in reports and Pareto selection; +- serialized configurations round-trip through fresh workers; +- incorrect cross-topology paths fail explicitly. + +## Decision Gates + +The phase is successful only if: + +1. all energy and complete-gradient correctness checks pass; +2. the Schmidt representation eliminates dense `_diag` residuals; +3. at least one path or logical-tape metric changes materially; +4. at least one Schmidt candidate is nondominated against dense candidates in + compiler temporary memory, warm runtime, or both; +5. the qualitative result holds on at least two workload scales and two + Hamiltonian parameter settings. + +If only the input tensor element count changes while contraction, tape, and +executable metrics do not improve, the result is recorded as negative. + +## Out of Scope + +This phase does not simultaneously add: + +- a Hamiltonian MPO; +- shared environments across Pauli terms; +- slicing; +- mixed precision; +- approximate truncation; +- ansatz search; +- a classical optimizer. + +Those features would confound attribution. The next phase will be selected +only after the representation experiment identifies whether gate lowering or +Hamiltonian-level sharing is the more important bottleneck. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-spatial-transfer-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-spatial-transfer-design.md new file mode 100644 index 000000000..5417987b8 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-spatial-transfer-design.md @@ -0,0 +1,454 @@ +# VQETape Exact Spatial-Transfer Design + +**Date:** 2026-07-29 + +**Scope:** Exact spatial-transfer lowering, rolled execution, and segmented +reverse-mode checkpointing for the current one-dimensional TFIM VQE family + +## Problem + +The exact global MPO phase replaces \(2n-1\) repeated Pauli-term contractions +with one bra–MPO–ket contraction: + +\[ +E(\theta) += +\langle\psi(\theta)|H_{\mathrm{MPO}}|\psi(\theta)\rangle . +\] + +That representation passed the executable decision gate, but it is still +lowered as one monolithic tensor graph. Increasing the number of qubits adds +more tensors and contraction steps to the compiled graph. This leaves three +important opportunities unused: + +1. the circuit is one-dimensional and spatially repeated; +2. every RZZ gate has exact operator-Schmidt rank two; +3. the TFIM MPO has exact bond dimension three. + +The next representation must expose this structure as a fixed-shape spatial +recurrence whose body is independent of chain length. + +## Goal + +Add an exact VQE program of the form + +\[ +B_1=F_{\mathrm{first}}(\theta_0), +\] + +\[ +B_{i+1} += +F_{\mathrm{bulk}} +\left(B_i;\theta_{i-1,i},\theta_i,\theta_{i,i+1}\right), +\qquad 1\le i\le n-2, +\] + +\[ +E += +F_{\mathrm{last}} +\left(B_{n-1};\theta_{n-2,n-1},\theta_{n-1}\right), +\] + +and compute its complete reverse-mode gradient exactly. + +The bulk recurrence must lower to `jax.lax.scan`; it must not construct or +retain all full \(D\times D\) transfer tensors before the scan. + +## Non-goals + +This phase does not add: + +- approximate MPS/MPO truncation; +- two-dimensional circuits; +- arbitrary ansatz parsing; +- general Pauli-to-MPO compression; +- slicing, multi-GPU execution, or host offload; +- mixed precision; +- classical VQE optimizer or ansatz search; +- cuTensorNet-specific kernels. + +Those remain separate compiler dimensions after the exact spatial program is +validated. + +## Alternatives + +### 1. Partition the verified operator-Schmidt MPO template — selected + +Build the already tested +`operator_schmidt + mpo` bra–operator–ket template, assign every local tensor +to its physical site, and contract one site at a time while retaining only +cross-cut indices. + +This reuses the exact gate, initial-state, bra/ket, and MPO conventions. The +global MPO remains an independent oracle for the spatial lowering. + +### 2. Hand-code local transfer matrices + +Direct formulas could make the scan body smaller, but they duplicate the RZZ +factorization, gate ordering, conjugation, and MPO sign conventions. That +creates a second semantic implementation and raises the risk of matching +energies while producing subtly incorrect parameter gradients. + +### 3. Force the global tree into a spatial contraction order + +This could demonstrate a spatial path without introducing column programs, +but it still emits a graph whose size grows with \(n\). It does not provide a +rolled recurrence or a natural custom adjoint over spatial carries. + +## Spatial partition + +The source topology is: + +```python +build_mpo_expectation_template( + spec, + gate_representation="operator_schmidt", +) +``` + +The existing `TensorSlot.wire` has two meanings: + +- for initial states, RX gates, and MPO tensors it is the physical site; +- for RZZ factors it is the left endpoint and parameter index of the bond. + +Therefore spatial ownership is derived without changing parameter semantics: + +```text +initial_ket, initial_bra, RX, MPO: site = slot.wire +RZZ left factor: site = slot.wire +RZZ right factor: site = slot.wire + 1 +``` + +Dense RZZ tensors are not spatially local and are rejected by this lowering. + +For a cut between sites \(i\) and \(i+1\), retain every index whose two +incident tensors belong to opposite sides of the cut. The cut contains: + +- one ket Schmidt index for every layer; +- one bra Schmidt index for every layer; +- one Hamiltonian MPO bond. + +Hence its exact shape is + +\[ +\underbrace{(2,\ldots,2)}_{2L\ \mathrm{entries}} +\mathbin{\|}(3,), +\] + +and the flattened boundary dimension is + +\[ +\boxed{D=\chi_H r^{2L}=3\cdot4^L}. +\] + +The compiler records the unflattened shape so contraction axes remain +explicit. It also reports `boundary_dimension=D` and +`boundary_bytes=D * dtype_bytes`. + +## Column programs + +Introduce a focused module, `vqetape.spatial_transfer`, containing immutable +planning records: + +```python +@dataclass(frozen=True) +class SpatialColumnProgram: + role: Literal["first", "bulk", "last"] + equation: str + path: tuple[tuple[int, ...], ...] + slot_kinds: tuple[str, ...] + input_shapes: tuple[tuple[int, ...], ...] + carry_is_input: bool + left_boundary_shape: tuple[int, ...] + right_boundary_shape: tuple[int, ...] + flops: int + largest_intermediate_elements: int + + +@dataclass(frozen=True) +class SpatialTransferProgram: + spec: TFIMVQESpec + strategy: PathStrategy + first: SpatialColumnProgram + bulk: SpatialColumnProgram | None + last: SpatialColumnProgram + boundary_shape: tuple[int, ...] + boundary_dimension: int +``` + +Planning proceeds from one complete global template: + +1. map each slot to a physical site; +2. build the ordered cut-index list at every spatial boundary; +3. verify every cut has the same semantic shape; +4. form one einsum transition program per column role; +5. search and serialize an opt_einsum path for first, one representative + bulk, and last; +6. verify all bulk columns have identical slot kinds, shapes, and local + equations after index canonicalization. + +The first program contains only site-zero tensors and outputs the right +boundary. A bulk program receives the current left boundary as its first +operand together with the current site's tensors and outputs only the right +boundary. The last program likewise receives the current boundary and +outputs a scalar. + +The compiler must not first materialize an open \(D\times D\) transfer tensor. +Including the carry in the bulk contraction path lets the planner eliminate +left-cut indices while contracting the local network, so the required output +has only \(D\) elements. For `nqubits == 2`, `bulk` is `None`. + +## Runtime binding + +A column binder receives site-local parameter arrays rather than a dynamic +Python site: + +```python +@dataclass(frozen=True) +class SpatialSiteParameters: + left_rzz: Array + right_rzz: Array + rx: Array +``` + +Each field has shape `(depth,)`; absent boundary bonds use no placeholder +tensor and are not read. + +Binding rules are: + +```text +RX slot -> rx_matrix(rx[layer]) +RZZ left factor -> left factor of right_rzz[layer] +RZZ right factor -> right factor of left_rzz[layer] +bra factor -> conjugate of the corresponding ket factor +initial ket/bra -> configured product-state vector/conjugate +first, bulk, last MPO slot -> exact role-specific TFIM MPO tensor +``` + +The local contraction executor applies the serialized column path using JAX +einsums. For bulk and last roles, the carry is operand zero. It exposes stable +names for optional residual profiling. + +The bulk scan receives packed arrays: + +```python +left_rzz = theta[:, 0, 0:-2].T +right_rzz = theta[:, 0, 1:-1].T +rx = theta[:, 1, 1:-1].T +``` + +with leading length `nqubits - 2`. Its body constructs only the current +column's small gate/MPO tensors, passes the current boundary into the +serialized transition contraction, and returns the next boundary. It never +materializes a \(D\times D\) transfer matrix. + +## Exact execution modes + +Add: + +```python +SpatialAdjoint = Literal["default", "remat", "segmented"] + + +@dataclass(frozen=True) +class SpatialProgramConfig: + path_strategy: PathStrategy + adjoint: SpatialAdjoint + unroll: int = 1 + segment_length: int | None = None + column_paths: tuple[ContractionPath, ...] | None = None + representation: Literal["spatial_transfer"] = "spatial_transfer" +``` + +`column_paths` contains `(first, last)` for two qubits and +`(first, bulk, last)` otherwise. Candidate generation searches these paths +once per strategy and serializes the same tuple into every corresponding +default/remat/segmented worker. This prevents stochastic path variation from +being attributed to an adjoint or unroll choice. + +### Default + +Use ordinary reverse-mode AD through the spatial `scan`. This is the runtime +and correctness baseline for the new representation. + +### Remat + +Wrap the bulk transition body in `jax.checkpoint`. This asks JAX to recompute +bulk-local values during the reverse pass. It may reduce column-local +residuals, but the measured result determines whether compiler temporary +memory improves. + +### Segmented custom adjoint + +Apply a custom VJP to only the shape-preserving bulk recurrence. The first and +last columns remain outside it, so standard AD computes their parameter +cotangents. + +For \(m=n-2\) bulk columns and segment length \(s\): + +1. pack bulk parameters into fixed-size segments; +2. pad the final segment and attach a validity mask; +3. forward-scan segments while saving only each segment's input boundary; +4. in reverse order, reconstruct one segment with `jax.vjp`; +5. return the left-boundary and bulk-parameter cotangents; +6. discard cotangents for padded transitions. + +The expected carry-storage model is: + +\[ +M_{\mathrm{carry}}(s) +\approx +b_{\mathrm{boundary}} +\left( +\left\lceil\frac{m}{s}\right\rceil+s +\right). +\] + +The default segment candidate is: + +\[ +s_\star=\max(1,\lfloor\sqrt m\rceil). +\] + +This is a model, not a claimed device peak. The worker reports it separately +from JAX compiler temporary bytes, residual-profile bytes, and process RSS. + +## Candidate search + +The initial spatial search uses: + +\[ +\{\text{greedy},\text{random-greedy},\text{auto-hq}\} +\times +\{ +\text{default-u1}, +\text{default-u2}, +\text{remat-u1}, +\text{remat-u2}, +\text{segmented-u1-}s_\star +\}. +\] + +Duplicate configurations after clamping unroll to the number of bulk columns +are removed. For `nqubits == 2`, only default execution is emitted because +there is no bulk recurrence. + +Within one path strategy, all adjoint and unroll candidates must report the +same first, bulk, last, and total forward FLOP counts. + +Each fresh worker reports: + +- first, bulk, and last path FLOPs; +- total forward energy FLOPs + \[ + F_{\mathrm{first}}+(n-2)F_{\mathrm{bulk}}+F_{\mathrm{last}}; + \] +- boundary rank, dimension, and bytes; +- modeled checkpoint boundary count and bytes; +- JAX residual profile; +- compiler memory analysis; +- compile, first-execute, warm median/MAD, and process RSS. + +The report includes an exact global-MPO control measured under the same seed, +dtype, hardware, and fresh-process protocol. Candidate selection still uses +the existing compile-plus-horizon objective and configured memory budget. + +## Correctness + +### Structural tests + +For depths \(L=1,2,3\), verify: + +- every source slot belongs to exactly one site; +- every nonlocal index is a nearest-neighbor spatial cut; +- every cut shape has \(2L\) dimensions of two and one dimension of three; +- every cut dimension equals \(3\cdot4^L\); +- first/bulk/last output indices match adjacent cuts; +- all canonical bulk programs are identical. + +For depths \(L=1,2,3\), also require each bulk program's declared output size +to be exactly \(D\), rather than \(D^2\). + +### Numerical tests + +For `nqubits` in `2, 3, 4, 5`, depths in `1, 2`, both initial states, non-unit +\(J,g\), and both supported dtypes where practical, compare: + +1. spatial-transfer energy; +2. spatial-transfer complete gradient; +3. global MPO energy and gradient; +4. state-vector energy and gradient. + +The unused padding gradient +`gradient[:, 0, -1]` must remain exactly zero. + +Compare default, remat, and segmented adjoints at identical parameters. + +### Control-flow tests + +Inspect lowered StableHLO text and require a `while` for at least four bulk +columns. Compare two chain lengths at fixed depth and record HLO text size; +the experiment must distinguish a rolled scan from Python unrolling, without +claiming perfectly constant total IR size. + +## Error handling + +Reject: + +- non-operator-Schmidt source gates for spatial partitioning; +- non-MPO Hamiltonian source templates; +- a slot whose physical site cannot be derived; +- a cross-cut index that skips a site; +- inconsistent cut shapes; +- noncanonical bulk column topology; +- explicit paths invalid for their column; +- nonpositive unroll or segment length; +- segmented adjoints on a chain with no bulk columns; +- parameter arrays with the wrong shape or dtype. + +## Decision gates + +The spatial representation advances only if: + +1. all structural, energy, and full-gradient tests pass; +2. the observed boundary dimension is exactly \(3\cdot4^L\); +3. lowered bulk execution contains rolled scan control flow; +4. at least one spatial candidate is nondominated by the global MPO control + in warm time plus compiler temporary bytes on a workload with at least + eight qubits; +5. the trend is checked at two chain lengths with fixed depth; +6. segmented checkpointing either reduces a measured/compiler memory metric + or is recorded as a negative result without being made the default. + +If spatial transfer is slower at small \(n\) but demonstrates improved +compile/memory scaling, both the crossover and the negative small-system +result are reported. + +## Expected research contribution + +This phase changes the compiler's optimization object from a global +contraction path to a differentiable spatial recurrence: + +\[ +\boxed{ +\text{exact MPO representation} ++\text{column contraction programs} ++\text{rolled scan} ++\text{carry-aware custom adjoint} +} +\] + +The scientific claim is deliberately limited to shallow, local, +one-dimensional VQE circuits. Fixed depth gives linear iteration count in +\(n\), while the exact boundary remains exponential in depth: + +\[ +T=O\!\left(n\,C_{\mathrm{column}}(L)\right), +\qquad +D=3\cdot4^L. +\] + +This is the correct foundation for later generalized representation +selection, optimizer/ansatz co-design, and larger GPU experiments. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-tfim-mpo-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-tfim-mpo-design.md new file mode 100644 index 000000000..be485df3c --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-29-vqetape-tfim-mpo-design.md @@ -0,0 +1,368 @@ +# VQETape Exact TFIM MPO Design + +**Date:** 2026-07-29 +**Status:** Approved +**Scope:** Exact global bra–MPO–ket contraction for TFIM VQE value and full gradient + +## Motivation + +The current direct-TN backend represents the TFIM Hamiltonian as \(2n-1\) +product-Pauli terms. Each term binds and contracts a complete copy of the +bra–operator–ket circuit network: + +```text +for each Hamiltonian term: + bind complete circuit and product operator + contract one scalar +sum term scalars +differentiate the unrolled term loop +``` + +The circuit bulk is nearly identical across terms. The operator-Schmidt phase +showed that reducing gate-construction residuals alone does not improve the +lowered executable. Hamiltonian-level sharing is therefore the next measured +bottleneck. + +## Goal + +Add a mathematically exact TFIM matrix-product operator with bond dimension +\(\chi_H=3\), so that one bra–MPO–ket network computes the complete +Hamiltonian expectation: + +\[ +E(\theta) += +\langle\psi_0| +U^\dagger(\theta) +H_{\mathrm{MPO}} +U(\theta) +|\psi_0\rangle. +\] + +The compiler will jointly compare: + +\[ +\text{Hamiltonian representation} +\times +\text{contraction path} +\times +\text{reverse tape}. +\] + +## Exact TFIM MPO + +The Hamiltonian convention remains: + +\[ +H += +-J\sum_{i=0}^{n-2}Z_iZ_{i+1} +-g\sum_{i=0}^{n-1}X_i. +\] + +Use virtual states \(0,1,2\). The first-site tensor is: + +\[ +W^{[0]} += +\begin{bmatrix} +-gX & -JZ & I +\end{bmatrix}. +\] + +Each bulk tensor is: + +\[ +W^{[i]} += +\begin{bmatrix} +I & 0 & 0\\ +Z & 0 & 0\\ +-gX & -JZ & I +\end{bmatrix}, +\qquad 0 tuple[Array, ...] +``` + +and a small-system test oracle: + +```python +def dense_tfim_hamiltonian(spec: TFIMVQESpec) -> Array +``` + +The production function constructs the first, bulk, and last MPO tensors. The +dense helper uses explicit Kronecker products and is restricted to tests and +small-system correctness checks. + +Add: + +```python +def build_mpo_expectation_template( + spec: TFIMVQESpec, + *, + gate_representation: GateRepresentation = "dense", +) -> TensorNetworkTemplate +``` + +The MPO template uses the same circuit-building routine as the Pauli-sum +template, then attaches one MPO operator tensor per site. + +New slot kinds: + +```text +hamiltonian_mpo_first +hamiltonian_mpo_bulk +hamiltonian_mpo_last +``` + +`TensorNetworkTemplate` records both: + +```text +gate_representation +hamiltonian_representation +``` + +so an explicit path serialized for one topology cannot be reused for another. + +## Energy Data Flow + +### Pauli sum + +1. Build one product-operator template. +2. Search one path reused across all product terms. +3. Bind and contract the template \(2n-1\) times. +4. Sum the real weighted expectations. +5. Differentiate the full unrolled term loop. + +### MPO + +1. Build one bra–MPO–ket template. +2. Search one path. +3. Bind circuit gates once and the \(n\) MPO tensors once. +4. Contract one scalar. +5. Differentiate that single contraction program. + +Both return the same: + +\[ +\theta\mapsto(E,\nabla_\theta E). +\] + +## Candidate Search + +The default MPO experiment covers: + +\[ +\{\text{pauli-sum},\text{MPO}\} +\times +\{\text{greedy},\text{random-greedy},\text{auto-hq}\} +\times +\{\text{default},\text{named-empty}, +\text{named-half},\text{named-full}\}. +\] + +This yields 24 candidates with dense RZZ gates. + +Within one Hamiltonian-representation/path pair, every tape receives the same +serialized explicit path. Paths are not shared across Hamiltonian +representations because the topologies differ. + +Named tape budgets are generated independently from each contraction +program's output bytes. + +## Static Metrics + +The existing `path_flops` measures one network contraction. That is not a fair +energy-level comparison because Pauli sum executes it \(2n-1\) times. + +Add: + +```text +contractions_per_energy +network_tensor_count +bound_tensor_elements_per_network +estimated_energy_flops +estimated_energy_tensor_bindings +``` + +with: + +\[ +F_{\mathrm{energy}} += +\begin{cases} +(2n-1)F_{\mathrm{network}},&\text{Pauli sum},\\ +F_{\mathrm{network}},&\text{MPO}. +\end{cases} +\] + +Logical residual bytes come from tracing the actual complete energy function, +not from multiplying a single-term residual estimate. + +Dynamic metrics remain: + +- compiler temporary bytes; +- process peak RSS; +- compile time; +- first execution time; +- warm median and MAD; +- energy and full-gradient errors. + +## Correctness + +### MPO algebra + +For \(n=2,3,4\), contract the MPO to a dense matrix and compare it with the +explicit Kronecker TFIM Hamiltonian. + +Cases: + +- \(J=g=1\); +- non-unit \(J,g\); +- \(J=0\); +- \(g=0\); +- `complex64`; +- locally enabled `complex128`. + +### VQE value and gradient + +Compare Pauli sum, MPO, and state-vector oracle across: + +- zero and plus initial states; +- depths 1 and 2; +- multiple \(J,g\) pairs; +- multiple parameter points; +- default and named tapes; +- complete padded gradients. + +The final RZZ padding parameter in every layer must retain exactly zero +gradient. + +### Topology + +Verify: + +- every index appears exactly twice; +- every internal MPO bond has extent 3; +- first, bulk, and last shapes match the specification; +- explicit positional paths are validated and fully replanned against the + selected topology; +- configuration and results survive fresh-worker JSON round trips. + +## Error Handling + +Reject: + +- unsupported Hamiltonian-representation names; +- an explicit positional path that is invalid for the selected topology; +- a named tape set generated for another contraction program; +- an MPO tensor count different from `nqubits`; +- inconsistent internal bond dimensions; +- physical shapes other than `(2, 2)`; +- dtype mismatches between circuit and MPO tensors. + +## Decision Gates + +MPO becomes the default only if: + +1. dense MPO matrices, VQE energies, and complete gradients pass all + correctness checks; +2. `contractions_per_energy` changes from \(2n-1\) to 1; +3. estimated energy FLOPs, logical tape, or compiler graph changes materially; +4. at least one MPO candidate is nondominated by all Pauli-sum candidates in + compiler temporary memory and warm runtime; +5. the trend holds across at least two qubit/depth settings or Hamiltonian + parameter settings; +6. no device-memory claim is inferred from CPU RSS. + +If MPO reduces graph duplication but its bond-3 contractions are more +expensive, the failure is recorded without redefining success. + +## Out of Scope + +This phase does not simultaneously add: + +- spatial-transfer scan; +- custom adjoint for sitewise carries; +- segmented MPO checkpointing; +- general Pauli-sum-to-MPO compression; +- slicing; +- mixed precision; +- approximate truncation; +- classical optimizer or ansatz search. + +If global MPO passes the executable gate, the next phase lowers the same MPO +template to a spatial transfer recurrence and studies carry checkpointing. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-30-positive-delivery-design.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-30-positive-delivery-design.md new file mode 100644 index 000000000..9fa4fbc87 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/plans/2026-07-30-positive-delivery-design.md @@ -0,0 +1,118 @@ +# VQETape Positive Delivery Design + +## Decision + +Present VQETape as a **differentiated co-design compiler for exact VQE**. +The central message is: + +> Compile the forward contraction, reverse program, and variational ansatz as +> one optimization problem. + +This framing is more durable than a single benchmark headline. TensorCircuit-NG +already provides a unified tensor-native graph, automatic differentiation, +contraction-path optimization, slicing, and distributed execution. VQETape +adds a compiler layer that makes the differentiated program, saved residuals, +checkpoint schedule, symmetry sector, optimizer, initialization, and ansatz +growth part of one measured search space. + +## Innovation Narrative + +### 1. Differentiated contraction programming + +Forward-only path objectives expose FLOPs, largest intermediates, and traffic. +VQETape serializes the contraction tree, constructs its algebraic transpose, +and measures backward FLOPs, backward traffic, live residuals, and checkpoint +choices. Explicit contraction-tree VJPs make the reverse program a selectable +compiler object rather than an opaque consequence of generic AD. + +### 2. Exact spatial-transfer lowering + +The bra-MPO-ket network is lowered into first, repeated bulk, optional tail, +and last programs. The recurrence carries only the exact boundary and never +forms a dense transfer matrix. On the matched RTX 3090 workload this program +records 16.7781 seconds for compile + first + 100 warm calls versus 18.2720 +seconds for TensorCircuit-NG, and 473.9 MiB host RSS versus 661.3 MiB. + +### 3. Commutator-complete adaptive ansatz + +The plus-state TFIM exposes a stationary structure for a restricted X/ZZ pool. +VQETape derives YZ/ZY candidates from the first commutator layer, evaluates an +exact insertion gradient and Fubini-Study metric, and combines that signal with +the contraction-cost delta. The resulting 10-parameter adaptive circuit reaches +5.05e-11 energy error; the 14-parameter fixed control records 1.70e-7 under the +same audited budget. + +### 4. Correctness-gated auto-evaluation + +Candidates run in isolated processes and record compilation, first execution, +warm execution, host RSS, compiler temporaries, residual bytes, device samples, +energy, and the complete gradient. Promotion requires exact value-gradient +agreement. The precision bridge maps the declared JAX policy into +TensorNetwork's cached backend, turning GPU precision into an explicit and +reproducible numerical contract. + +## Reviewer-Facing Language + +Use these status labels: + +- **Demonstrated result** - directly supported by committed data. +- **Measured trade-off** - two exact implementations expose different strengths. +- **Validated protocol** - the complete construction and correctness path runs. +- **Next optimization frontier** - the highest-value measured extension. +- **Scale-up target** - a larger declared deployment of a validated protocol. + +Reviewer-facing README, delivery Markdown, HTML, PDF, PR body, and PR comments +avoid defensive labels and generic assistant phrasing. Numerical comparisons +remain explicit. Canonical JSON stays unchanged as the machine-readable record. + +## Artifact Architecture + +The Quantum Harness solution remains canonical for the upstream PR. The +standalone repository becomes a self-contained public showcase with: + +```text +README.md +DELIVERY.md +TECHNICAL_REPORT.md +data/ +output/pdf/ +src/vqetape/ +tests/ +scripts/ +selected-evidence/ +pyproject.toml +LICENSE +``` + +The standalone repository contains the implementation, tests, reproducible +report builder, compact matched data, and selected canonical evidence. Links +connect the public repository, Issue #33, and PR #263 in both directions. + +## PR Communication + +The PR body leads with the compiler thesis, four innovations, and quantitative +anchors. The existing GPU comment becomes a precision-aware co-design milestone. +A final delivery comment tags `@fliingelephant`, identifies the public showcase +repository, and invites review of the differentiated-program approach. + +## Visual Design + +The seven-page PDF retains the existing compact layout while shifting emphasis +to navy, blue, cyan, and green. Page sequence: + +1. thesis and quantitative anchors; +2. gap in existing optimization and VQETape compiler loop; +3. matched RTX 3090 results; +4. differentiated-program and spatial-transfer innovations; +5. commutator-complete ansatz and precision contract; +6. verification and reproducibility; +7. public artifacts and research trajectory. + +Every page has a clear claim, supporting evidence, and consequence for future +VQE compiler research. + +## Approval + +Approved by the user on 2026-07-30 with the instruction: + +> 同意方案 B,@fliingelephant diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-28-vqetape-direct-tn.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-28-vqetape-direct-tn.md new file mode 100644 index 000000000..79d31e68e --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-28-vqetape-direct-tn.md @@ -0,0 +1,322 @@ +# VQETape Direct Tensor-Network Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add an exact direct bra-Hamiltonian-ket tensor-network VQE backend with explicit contraction paths and per-step reverse-mode rematerialization. + +**Architecture:** A static template builder assigns indices and tensor sources once per VQE specification. A path planner turns the reusable topology into explicit pairwise einsum steps, and a JAX executor binds parameter-dependent gate tensors and optionally checkpoints selected steps before differentiating the scalar energy. + +**Tech Stack:** Python 3.12, JAX, NumPy, opt_einsum, pytest. + +## Global Constraints + +- Direct-TN energy and full gradients must match the existing state-vector oracle. +- The tensor network must contract directly to a scalar. +- All TFIM Pauli terms reuse one topology and contraction program. +- Contraction paths are selected before JAX tracing. +- Rematerialization decisions apply to explicit pairwise contraction steps. +- No approximate truncation, slicing, MPO, or cuTensorNet is introduced in this phase. + +--- + +### Task 1: Reusable Gate Matrices and Tensor-Network Template + +**Files:** +- Modify: `pyproject.toml` +- Modify: `src/vqetape/kernels.py` +- Create: `src/vqetape/tn_template.py` +- Create: `tests/test_tn_template.py` + +**Interfaces:** +- Produces: `rx_matrix`, `rzz_matrix`, `TensorSlot`, `TensorNetworkTemplate`, + `ProductPauliTerm`, `build_expectation_template(spec)`, and + `bind_term_tensors(template, theta, term)`. + +- [x] **Step 1: Write template topology and binding tests** + +```python +from collections import Counter + +import jax.numpy as jnp + +from vqetape.spec import TFIMVQESpec +from vqetape.tn_template import ( + ProductPauliTerm, + bind_term_tensors, + build_expectation_template, +) + + +def test_expectation_template_is_closed_scalar_network(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template(spec) + counts = Counter(index for slot in template.slots for index in slot.indices) + assert set(counts.values()) == {2} + assert template.equation.endswith("->") + assert len(template.slots) == 3 * spec.nqubits + 2 * spec.depth * (2 * spec.nqubits - 1) + + +def test_bound_term_matches_declared_shapes(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template(spec) + theta = jnp.zeros(spec.parameter_shape) + tensors = bind_term_tensors( + template, + theta, + ProductPauliTerm(coefficient=-1.0, operators=("Z", "Z", "I")), + ) + assert tuple(tensor.shape for tensor in tensors) == template.shapes +``` + +- [x] **Step 2: Run the tests and observe missing-module failure** + +Run: `JAX_ENABLE_X64=1 python -m pytest tests/test_tn_template.py -q` + +Expected: import failure for `vqetape.tn_template`. + +- [x] **Step 3: Refactor reusable gate matrices and implement the template** + +`TensorSlot` must contain `kind`, `indices`, `shape`, `layer`, and `wire`. +`TensorNetworkTemplate` must contain `spec`, `slots`, `equation`, and `shapes`. +Use `opt_einsum.get_symbol` to turn monotonically allocated integer indices +into an einsum equation. Gate tensor axes are `(output, input)` for `RX` and +`(output0, output1, input0, input1)` for `RZZ`. + +- [x] **Step 4: Run existing and new kernel/template tests** + +Run: `JAX_ENABLE_X64=1 python -m pytest tests/test_kernels.py tests/test_tn_template.py -q` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add pyproject.toml src/vqetape/kernels.py src/vqetape/tn_template.py tests/test_tn_template.py +git commit -m "feat: build direct VQE tensor-network templates" +``` + +### Task 2: Path Planning and Explicit Pairwise Execution + +**Files:** +- Create: `src/vqetape/tn_program.py` +- Create: `tests/test_tn_program.py` + +**Interfaces:** +- Consumes: `TensorNetworkTemplate`. +- Produces: `ContractionProgram`, `plan_contraction(template, strategy)`, and + `execute_contraction(program, tensors, remat_steps=frozenset())`. + +- [x] **Step 1: Write explicit-executor equivalence tests** + +```python +import jax.numpy as jnp +import numpy as np +import opt_einsum as oe + +from vqetape.tn_program import execute_contraction, plan_contraction + + +def test_explicit_program_matches_opt_einsum_expression(template_and_tensors): + template, tensors = template_and_tensors + program = plan_contraction(template, "greedy") + actual = execute_contraction(program, tensors) + expected = oe.contract( + template.equation, + *tensors, + optimize=list(program.path), + backend="jax", + ) + np.testing.assert_allclose(np.asarray(actual), np.asarray(expected), atol=1e-6) + assert program.flops > 0 + assert program.largest_intermediate_elements > 0 + assert len(program.step_output_bytes) == len(program.steps) +``` + +- [x] **Step 2: Verify the missing-module failure** + +Run: `python -m pytest tests/test_tn_program.py -q` + +Expected: import failure for `vqetape.tn_program`. + +- [x] **Step 3: Implement path planning and execution** + +Call `opt_einsum.contract_path(template.equation, *template.shapes, +shapes=True, optimize=strategy)`. Build a `contract_expression` using the +explicit path and retain its `contraction_list`. For every step, pop operands +in the exact position order supplied by opt_einsum and evaluate the step's +einsum string with `jax.numpy.einsum`. + +- [x] **Step 4: Run tests** + +Run: `python -m pytest tests/test_tn_program.py -q` + +Expected: explicit and opt_einsum execution agree for all tested paths. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_program.py tests/test_tn_program.py +git commit -m "feat: plan and execute explicit tensor contractions" +``` + +### Task 3: Exact Direct-TN VQE Value and Gradient + +**Files:** +- Create: `src/vqetape/tn_vqe.py` +- Create: `tests/test_tn_vqe.py` + +**Interfaces:** +- Produces: `build_tn_energy(spec, path_strategy, remat_policy, threshold_bytes)` + and `build_tn_value_and_grad(...)`. + +- [x] **Step 1: Write energy and full-gradient equivalence tests** + +```python +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.programs import build_value_and_grad +from vqetape.spec import ProgramConfig, TFIMVQESpec +from vqetape.tn_vqe import build_tn_value_and_grad + + +@pytest.mark.parametrize("strategy", ["greedy", "random-greedy"]) +@pytest.mark.parametrize("policy", ["none", "all", "output-ge-threshold"]) +def test_direct_tn_matches_statevector(strategy, policy): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape)).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, ProgramConfig(control_flow="unrolled", adjoint="default") + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy=strategy, + remat_policy=policy, + threshold_bytes=64, + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose(np.asarray(energy), np.asarray(ref_energy), atol=1e-5) + np.testing.assert_allclose(np.asarray(gradient), np.asarray(ref_gradient), rtol=1e-4, atol=1e-5) + np.testing.assert_array_equal(np.asarray(gradient[:, 0, -1]), np.zeros(spec.depth)) +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_tn_vqe.py -q` + +Expected: import failure for `vqetape.tn_vqe`. + +- [x] **Step 3: Implement term generation and remat policies** + +Generate `nqubits - 1` `ZZ` terms with coefficient `-coupling` and `nqubits` +`X` terms with coefficient `-field`. `none` produces an empty step set, `all` +selects every step, and `output-ge-threshold` selects steps whose output byte +estimate is at least `threshold_bytes`. + +- [x] **Step 4: Run tests** + +Run: `JAX_ENABLE_X64=1 python -m pytest tests/test_tn_vqe.py -q` + +Expected: all direct-TN values and gradients match the oracle. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_vqe.py tests/test_tn_vqe.py +git commit -m "feat: add exact direct-TN VQE gradients" +``` + +### Task 4: Tensor Candidate Benchmark and Pareto Search + +**Files:** +- Create: `src/vqetape/tn_candidates.py` +- Modify: `src/vqetape/worker.py` +- Modify: `src/vqetape/benchmark.py` +- Create: `tests/test_tn_candidates.py` + +**Interfaces:** +- Produces: tagged tensor-program candidate requests and fresh-process results + using the existing `CandidateResult` report contract. + +- [x] **Step 1: Write candidate uniqueness and one-worker tests** + +Create tests that assert three path strategies, `none`, `all`, and every unique +threshold policy generate unique labels, then run one `greedy/none` tensor +candidate in a fresh worker and assert finite compile, warm, RSS, path FLOPs, +and largest-intermediate fields. + +- [x] **Step 2: Run tests and verify unsupported request failure** + +Run: `python -m pytest tests/test_tn_candidates.py -q` + +Expected: tensor candidate request is unsupported. + +- [x] **Step 3: Implement tagged worker requests** + +Add a `"program_kind": "statevector" | "direct_tn"` field to worker payloads. +For direct-TN requests, build `build_tn_value_and_grad`, attach path metrics to +`static_estimate`, and otherwise reuse the existing timing/memory protocol. + +- [x] **Step 4: Run tests** + +Run: `python -m pytest tests/test_tn_candidates.py tests/test_benchmark.py -q` + +Expected: state-vector protocol remains compatible and tensor worker passes. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_candidates.py src/vqetape/worker.py src/vqetape/benchmark.py tests/test_tn_candidates.py +git commit -m "feat: search direct-TN path and tape candidates" +``` + +### Task 5: Evidence and Decision Audit + +**Files:** +- Modify: `README.md` +- Create: `outputs/vqetape-direct-tn-report.json` +- Create: `outputs/vqetape-direct-tn-findings.md` + +**Interfaces:** +- Produces: reproducible evidence for all four phase decision gates. + +- [x] **Step 1: Run all tests** + +Run: `JAX_ENABLE_X64=1 python -m pytest -q` + +Expected: all tests pass. + +- [x] **Step 2: Run the direct-TN experiment** + +Run the tensor search for `nqubits=4`, `depth=3`, `complex64`, three path +strategies, all remat policies, and at least three synchronized warm repeats. +Write `outputs/vqetape-direct-tn-report.json`. + +- [x] **Step 3: Audit the four gates** + +Use measured report fields to state pass/fail for path diversity, measured path +effect, fixed-path remat effect, and joint Pareto improvement. Label CPU RSS +and JAX memory analysis exactly as in the oracle report. + +- [x] **Step 4: Update README and mark the plan complete** + +Document the direct-TN API, current scale limit, path strategies, and remat +policies. Replace each unchecked plan checkbox with a checked one only after +its command succeeds. + +- [x] **Step 5: Commit** + +```bash +git add README.md docs/superpowers/plans/2026-07-28-vqetape-direct-tn.md outputs/vqetape-direct-tn-report.json outputs/vqetape-direct-tn-findings.md +git commit -m "test: record direct-TN VQETape evidence" +``` + +## Self-Review Record + +- The plan implements the approved direct scalar-contraction phase and does not + silently include later MPO, slicing, or cuTensorNet work. +- Each task produces independently testable behavior. +- Names used by later tasks are defined in earlier task interfaces. +- Execution remains inline because subagent dispatch is not authorized. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-28-vqetape-prototype.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-28-vqetape-prototype.md new file mode 100644 index 000000000..17f757973 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-28-vqetape-prototype.md @@ -0,0 +1,805 @@ +# VQETape Prototype Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Build a tested Python prototype that compiles exact 1D TFIM VQE energy-and-gradient kernels into unrolled, scan, rematerialized, and segmented-adjoint variants, benchmarks them in fresh processes, and selects a memory-feasible Pareto candidate. + +**Architecture:** A small semantic frontend validates a `TFIMVQESpec`, numerical kernels generate state-vector oracle programs, and an executable factory applies the requested control-flow and adjoint schedule. A fresh-process benchmark layer measures every valid candidate, after which a pure selection layer computes the Pareto frontier and minimizes compile-plus-iteration cost. + +**Tech Stack:** Python 3.12, JAX, NumPy, pytest, psutil, standard-library dataclasses/JSON/subprocess. + +## Global Constraints + +- The first prototype is exact and must not use MPS truncation or stochastic sampling. +- Supported circuits are open-boundary, one-dimensional `RZZ`-then-`RX` VQE layers. +- Supported Hamiltonian is the open-boundary 1D TFIM. +- Parameter layout is `(depth, 2, nqubits)`; `theta[layer, 0, -1]` is unused padding and its gradient must be exactly zero. +- Every timing must synchronize JAX results before stopping the timer. +- Every measured candidate must execute in a fresh subprocess. +- CPU peak RSS and JAX executable memory analysis must be labelled separately; neither may be described as true GPU peak memory. +- Numerical tolerances are `energy_atol=1e-5`, `gradient_rtol=1e-4` for `complex64`, and `energy_atol=1e-10`, `gradient_rtol=1e-9` for `complex128`. +- The code must remain usable without TensorCircuit-NG or cuTensorNet installed. + +--- + +## Planned File Structure + +```text +pyproject.toml Package metadata and dependencies +.gitignore Local environments, caches, and reports +README.md Setup, CLI, limitations, and terminology +src/vqetape/__init__.py Stable public API exports +src/vqetape/spec.py Validated immutable request dataclasses +src/vqetape/kernels.py Exact gates, state evolution, and TFIM energy +src/vqetape/programs.py Unrolled, scan, remat, and segmented executables +src/vqetape/estimate.py Static state/tape/gate-work estimates +src/vqetape/candidates.py Candidate enumeration +src/vqetape/metrics.py Timing, synchronization, and statistics +src/vqetape/worker.py One-candidate subprocess benchmark entry point +src/vqetape/benchmark.py Parent-process orchestration and JSON protocol +src/vqetape/selection.py Correctness, Pareto, and K-aware selection +src/vqetape/compiler.py End-to-end compile request orchestration +src/vqetape/cli.py Reproducible command-line experiment +tests/test_spec.py Dataclass validation tests +tests/test_kernels.py State, energy, and finite-difference tests +tests/test_programs.py Program and adjoint equivalence tests +tests/test_estimate_candidates.py Static estimate and enumeration tests +tests/test_metrics_selection.py Statistics and Pareto tests +tests/test_benchmark.py Fresh-process benchmark protocol tests +tests/test_compiler_cli.py End-to-end compile and CLI tests +``` + +--- + +### Task 1: Package Skeleton and Validated Specifications + +**Files:** +- Create: `pyproject.toml` +- Create: `.gitignore` +- Create: `src/vqetape/__init__.py` +- Create: `src/vqetape/spec.py` +- Create: `tests/test_spec.py` + +**Interfaces:** +- Produces: `TFIMVQESpec`, `ProgramConfig`, `CompileRequest`, `CorrectnessTolerance`, and `dtype_bytes`. +- Later tasks consume the exact dataclass fields and validation behavior defined here. + +- [x] **Step 1: Write specification tests** + +```python +import pytest + +from vqetape.spec import CompileRequest, ProgramConfig, TFIMVQESpec, dtype_bytes + + +def test_tfim_spec_parameter_shape_and_count(): + spec = TFIMVQESpec(nqubits=5, depth=3) + assert spec.parameter_shape == (3, 2, 5) + assert spec.active_parameter_count == 3 * (2 * 5 - 1) + + +@pytest.mark.parametrize( + ("kwargs", "message"), + [ + ({"nqubits": 1}, "nqubits"), + ({"depth": 0}, "depth"), + ({"dtype": "float32"}, "dtype"), + ({"initial_state": "bell"}, "initial_state"), + ], +) +def test_tfim_spec_rejects_invalid_values(kwargs, message): + with pytest.raises(ValueError, match=message): + TFIMVQESpec(**kwargs) + + +def test_segmented_config_requires_scan_and_segment_length(): + with pytest.raises(ValueError, match="segmented"): + ProgramConfig(control_flow="unrolled", adjoint="segmented", unroll=1, segment_length=2) + with pytest.raises(ValueError, match="segment_length"): + ProgramConfig(control_flow="scan", adjoint="segmented", unroll=1) + + +def test_compile_request_requires_positive_budget_and_steps(): + spec = TFIMVQESpec(nqubits=4, depth=2) + with pytest.raises(ValueError, match="memory_budget_bytes"): + CompileRequest(spec=spec, memory_budget_bytes=0, expected_vqe_steps=10) + with pytest.raises(ValueError, match="expected_vqe_steps"): + CompileRequest(spec=spec, memory_budget_bytes=1024, expected_vqe_steps=0) + + +def test_dtype_bytes(): + assert dtype_bytes("complex64") == 8 + assert dtype_bytes("complex128") == 16 +``` + +- [x] **Step 2: Run the tests and verify the missing-package failure** + +Run: `python -m pytest tests/test_spec.py -q` + +Expected: collection fails because `vqetape` does not exist. + +- [x] **Step 3: Add package metadata and immutable validated dataclasses** + +`pyproject.toml` must declare a `src` package, Python `>=3.12`, runtime +dependencies on `jax`, `numpy`, and `psutil`, a `test` extra containing +`pytest`, and a `vqetape` console script targeting `vqetape.cli:main`. + +`src/vqetape/spec.py` must define: + +```python +from __future__ import annotations + +from dataclasses import dataclass +from math import isfinite +from typing import Literal + +DTypeName = Literal["complex64", "complex128"] + + +def dtype_bytes(dtype: DTypeName) -> int: + return {"complex64": 8, "complex128": 16}[dtype] + + +@dataclass(frozen=True) +class TFIMVQESpec: + nqubits: int + depth: int + coupling: float = 1.0 + field: float = 1.0 + initial_state: Literal["zero", "plus"] = "plus" + dtype: DTypeName = "complex64" + + def __post_init__(self) -> None: + if self.nqubits < 2: + raise ValueError("nqubits must be at least 2") + if self.depth < 1: + raise ValueError("depth must be positive") + if not isfinite(self.coupling) or not isfinite(self.field): + raise ValueError("coupling and field must be finite") + if self.initial_state not in ("zero", "plus"): + raise ValueError("unsupported initial_state") + if self.dtype not in ("complex64", "complex128"): + raise ValueError("unsupported dtype") + + @property + def parameter_shape(self) -> tuple[int, int, int]: + return (self.depth, 2, self.nqubits) + + @property + def active_parameter_count(self) -> int: + return self.depth * (2 * self.nqubits - 1) +``` + +Add the other dataclasses with the exact fields described in +`docs/plans/2026-07-28-vqetape-design.md`. + +- [x] **Step 4: Run the tests** + +Run: `python -m pytest tests/test_spec.py -q` + +Expected: all tests pass. + +- [x] **Step 5: Commit** + +```bash +git add pyproject.toml .gitignore src/vqetape tests/test_spec.py +git commit -m "feat: add VQETape package and validated specs" +``` + +--- + +### Task 2: Exact VQE Numerical Kernels + +**Files:** +- Create: `src/vqetape/kernels.py` +- Create: `tests/test_kernels.py` + +**Interfaces:** +- Consumes: `TFIMVQESpec`. +- Produces: `initial_state(spec)`, `apply_rx(state, angle, wire, nqubits)`, + `apply_rzz(state, angle, wire0, wire1, nqubits)`, `apply_layer(state, theta_layer, spec)`, + `tfim_energy(state, spec)`, and `unrolled_energy(theta, spec)`. + +- [x] **Step 1: Write kernel correctness tests** + +```python +import jax +import jax.numpy as jnp +import numpy as np + +from vqetape.kernels import initial_state, tfim_energy, unrolled_energy +from vqetape.spec import TFIMVQESpec + + +def test_initial_states_are_normalized(): + for name in ("zero", "plus"): + spec = TFIMVQESpec(nqubits=4, depth=1, initial_state=name) + state = initial_state(spec) + np.testing.assert_allclose(np.asarray(jnp.vdot(state, state)), 1.0, atol=1e-6) + + +def test_plus_state_tfim_energy_at_zero_parameters(): + spec = TFIMVQESpec(nqubits=4, depth=1, initial_state="plus") + theta = jnp.zeros(spec.parameter_shape) + energy = unrolled_energy(theta, spec) + np.testing.assert_allclose(np.asarray(energy), -4.0, atol=1e-6) + + +def test_padding_rzz_parameter_has_zero_gradient(): + spec = TFIMVQESpec(nqubits=4, depth=2) + theta = jnp.arange(np.prod(spec.parameter_shape), dtype=jnp.float32).reshape(spec.parameter_shape) / 20 + gradient = jax.grad(unrolled_energy)(theta, spec) + np.testing.assert_array_equal(np.asarray(gradient[:, 0, -1]), np.zeros(spec.depth)) + + +def test_gradient_matches_central_difference(): + spec = TFIMVQESpec(nqubits=3, depth=2, dtype="complex128") + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape), dtype=jnp.float64).reshape(spec.parameter_shape) + gradient = jax.grad(unrolled_energy)(theta, spec) + index = (1, 1, 2) + step = 1e-5 + delta = jnp.zeros_like(theta).at[index].set(step) + finite_difference = (unrolled_energy(theta + delta, spec) - unrolled_energy(theta - delta, spec)) / (2 * step) + np.testing.assert_allclose(np.asarray(gradient[index]), np.asarray(finite_difference), rtol=1e-6, atol=1e-7) +``` + +- [x] **Step 2: Verify failure** + +Run: `JAX_ENABLE_X64=1 python -m pytest tests/test_kernels.py -q` + +Expected: import fails because `vqetape.kernels` does not exist. + +- [x] **Step 3: Implement exact gates and TFIM energy** + +Use explicit small gate matrices and axis permutations. `tfim_energy` must apply +Pauli actions to the state and sum local expectations without constructing a +dense Hamiltonian. Return a real JAX scalar. + +- [x] **Step 4: Run tests** + +Run: `JAX_ENABLE_X64=1 python -m pytest tests/test_kernels.py -q` + +Expected: all tests pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/kernels.py tests/test_kernels.py +git commit -m "feat: add exact TFIM VQE kernels" +``` + +--- + +### Task 3: Unrolled, Scan, and Rematerialized Programs + +**Files:** +- Create: `src/vqetape/programs.py` +- Create: `tests/test_programs.py` + +**Interfaces:** +- Consumes: `TFIMVQESpec`, `ProgramConfig`, and kernel functions. +- Produces: `build_energy_function(spec, config)` and + `build_value_and_grad(spec, config)`. + +- [x] **Step 1: Write equivalence tests** + +```python +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.programs import build_value_and_grad +from vqetape.spec import ProgramConfig, TFIMVQESpec + + +@pytest.mark.parametrize("unroll", [1, 2, 4]) +@pytest.mark.parametrize("adjoint", ["default", "remat"]) +def test_scan_program_matches_unrolled(unroll, adjoint): + spec = TFIMVQESpec(nqubits=4, depth=4) + theta = jnp.linspace(-0.4, 0.5, np.prod(spec.parameter_shape), dtype=jnp.float32).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, ProgramConfig(control_flow="unrolled", adjoint="default", unroll=1) + ) + candidate = build_value_and_grad( + spec, ProgramConfig(control_flow="scan", adjoint=adjoint, unroll=unroll) + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose(np.asarray(energy), np.asarray(ref_energy), atol=1e-5) + np.testing.assert_allclose(np.asarray(gradient), np.asarray(ref_gradient), rtol=1e-4, atol=1e-5) +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_programs.py -q` + +Expected: import fails because `vqetape.programs` does not exist. + +- [x] **Step 3: Implement program builders** + +`build_energy_function` must close over the immutable spec so it is not passed +as a traced JAX value. The unrolled variant calls `unrolled_energy`. The scan +variant initializes the state, calls `jax.lax.scan` over parameter layers, and +then calls `tfim_energy`. For `adjoint="remat"`, wrap the scan layer body with +`jax.checkpoint`. `build_value_and_grad` returns +`jax.jit(jax.value_and_grad(energy_function))`. + +- [x] **Step 4: Run tests** + +Run: `python -m pytest tests/test_programs.py -q` + +Expected: all tests pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/programs.py tests/test_programs.py +git commit -m "feat: add unrolled and scan VQE programs" +``` + +--- + +### Task 4: Segmented Custom Adjoint + +**Files:** +- Modify: `src/vqetape/programs.py` +- Modify: `tests/test_programs.py` + +**Interfaces:** +- Extends: `build_value_and_grad` for `ProgramConfig(adjoint="segmented")`. +- Produces: an exact segmented custom VJP whose padded `RZZ` gradients remain zero. + +- [x] **Step 1: Add segmented equivalence tests** + +```python +@pytest.mark.parametrize("depth", [3, 4, 7]) +@pytest.mark.parametrize("segment_length", [1, 2, 3]) +def test_segmented_adjoint_matches_unrolled(depth, segment_length): + spec = TFIMVQESpec(nqubits=3, depth=depth) + theta = jnp.linspace(-0.2, 0.4, np.prod(spec.parameter_shape), dtype=jnp.float32).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, ProgramConfig(control_flow="unrolled", adjoint="default", unroll=1) + ) + candidate = build_value_and_grad( + spec, + ProgramConfig( + control_flow="scan", + adjoint="segmented", + unroll=1, + segment_length=segment_length, + ), + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose(np.asarray(energy), np.asarray(ref_energy), atol=1e-5) + np.testing.assert_allclose(np.asarray(gradient), np.asarray(ref_gradient), rtol=1e-4, atol=1e-5) + np.testing.assert_array_equal(np.asarray(gradient[:, 0, -1]), np.zeros(depth)) +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_programs.py -q` + +Expected: segmented configurations fail as unsupported. + +- [x] **Step 3: Implement a shape-static segmented custom VJP** + +Pad the depth to `ceil(depth / segment_length) * segment_length`, create a +segment function that applies masked layers, and define a custom VJP around the +full segmented evolution. The forward residual contains the parameters and +only segment-boundary states. The backward rule uses a reverse `lax.scan`; for +each segment it calls `jax.vjp` on the rematerialized segment function, +propagates the state cotangent, and writes the segment parameter cotangent into +the padded gradient buffer before truncating it to the original depth. + +- [x] **Step 4: Run segmented and full tests** + +Run: `python -m pytest tests/test_programs.py -q` + +Expected: all program variants pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/programs.py tests/test_programs.py +git commit -m "feat: add segmented VQE adjoint schedule" +``` + +--- + +### Task 5: Static Estimates and Candidate Enumeration + +**Files:** +- Create: `src/vqetape/estimate.py` +- Create: `src/vqetape/candidates.py` +- Create: `tests/test_estimate_candidates.py` + +**Interfaces:** +- Consumes: `TFIMVQESpec`, `CompileRequest`, and `ProgramConfig`. +- Produces: `StaticEstimate`, `estimate_program(spec, config)`, + `segment_lengths(depth)`, and `enumerate_candidates(request)`. + +- [x] **Step 1: Write deterministic enumeration tests** + +```python +from vqetape.candidates import enumerate_candidates, segment_lengths +from vqetape.estimate import estimate_program +from vqetape.spec import CompileRequest, ProgramConfig, TFIMVQESpec + + +def test_segment_lengths_include_endpoints_and_sqrt_neighbors(): + assert segment_lengths(10) == (1, 2, 3, 4, 5, 10) + + +def test_segmented_estimate_is_smaller_than_save_all_for_deep_chain(): + spec = TFIMVQESpec(nqubits=8, depth=100) + default = estimate_program( + spec, ProgramConfig(control_flow="scan", adjoint="default", unroll=1) + ) + segmented = estimate_program( + spec, + ProgramConfig( + control_flow="scan", adjoint="segmented", unroll=1, segment_length=10 + ), + ) + assert segmented.saved_boundary_upper_bound_bytes < default.saved_boundary_upper_bound_bytes + assert segmented.estimated_recompute_gate_applications > default.estimated_recompute_gate_applications + + +def test_candidate_enumeration_is_unique_and_memory_filtered(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=6, depth=8), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, + ) + candidates = enumerate_candidates(request) + assert len(candidates) == len(set(candidates)) + assert all(estimate_program(request.spec, item).saved_boundary_upper_bound_bytes <= request.memory_budget_bytes for item in candidates) +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_estimate_candidates.py -q` + +Expected: imports fail. + +- [x] **Step 3: Implement estimates and enumeration** + +Use explicit gate counts: + +\[ +G_{\mathrm{layer}}=(n-1)+n=2n-1. +\] + +Default scan uses a conservative `depth + 1` saved-state upper bound. +Rematerialized scan uses two boundary states plus one body workspace. +Segmented uses `ceil(depth / segment_length) + segment_length + 2`. +Enumeration must always include the unrolled reference and remove duplicate +configs caused by clipping unroll factors. + +- [x] **Step 4: Run tests** + +Run: `python -m pytest tests/test_estimate_candidates.py -q` + +Expected: all tests pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/estimate.py src/vqetape/candidates.py tests/test_estimate_candidates.py +git commit -m "feat: estimate and enumerate VQETape programs" +``` + +--- + +### Task 6: Statistics, Correctness, and Pareto Selection + +**Files:** +- Create: `src/vqetape/metrics.py` +- Create: `src/vqetape/selection.py` +- Create: `tests/test_metrics_selection.py` + +**Interfaces:** +- Produces: `median_and_mad`, `CandidateResult`, `correctness_error`, + `pareto_frontier`, and `select_for_horizon`. + +- [x] **Step 1: Write pure-function tests** + +```python +import math + +from vqetape.metrics import median_and_mad +from vqetape.selection import CandidateResult, pareto_frontier, select_for_horizon +from vqetape.spec import ProgramConfig + + +def result(name, compile_s, warm_s, memory): + return CandidateResult( + config=ProgramConfig(control_flow=name, adjoint="default", unroll=1), + compile_seconds=compile_s, + first_execute_seconds=0.1, + warm_seconds_median=warm_s, + warm_seconds_mad=0.0, + peak_rss_bytes=memory, + energy_abs_error=0.0, + gradient_relative_l2_error=0.0, + valid=True, + ) + + +def test_median_and_mad(): + assert median_and_mad([1.0, 2.0, 100.0]) == (2.0, 1.0) + + +def test_pareto_frontier_removes_dominated_result(): + fast = result("unrolled", 2.0, 1.0, 100) + dominated = result("scan", 3.0, 2.0, 120) + assert pareto_frontier([fast, dominated]) == [fast] + + +def test_horizon_selection_accounts_for_compile_amortization(): + low_cold = result("unrolled", 1.0, 2.0, 100) + high_throughput = result("scan", 20.0, 1.0, 100) + assert select_for_horizon([low_cold, high_throughput], 2).config == low_cold.config + assert select_for_horizon([low_cold, high_throughput], 100).config == high_throughput.config +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_metrics_selection.py -q` + +Expected: imports fail. + +- [x] **Step 3: Implement statistics and selection** + +`CandidateResult` must support `to_dict()` and `from_dict()` without losing +configuration fields. Invalid candidates and candidates over the measured +memory budget must not appear in the selectable frontier. Relative gradient +error must use `max(1, ||g_ref||_2)` as the denominator. + +- [x] **Step 4: Run tests** + +Run: `python -m pytest tests/test_metrics_selection.py -q` + +Expected: all tests pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/metrics.py src/vqetape/selection.py tests/test_metrics_selection.py +git commit -m "feat: add correctness and Pareto selection" +``` + +--- + +### Task 7: Fresh-Process Candidate Benchmarking + +**Files:** +- Create: `src/vqetape/worker.py` +- Create: `src/vqetape/benchmark.py` +- Create: `tests/test_benchmark.py` + +**Interfaces:** +- Consumes: a serializable spec, config, deterministic seed, and warm repeat count. +- Produces: `benchmark_candidate(...) -> CandidateResult`. + +- [x] **Step 1: Write subprocess protocol tests** + +```python +from vqetape.benchmark import benchmark_candidate +from vqetape.spec import ProgramConfig, TFIMVQESpec + + +def test_candidate_runs_in_fresh_process_and_returns_finite_metrics(): + spec = TFIMVQESpec(nqubits=3, depth=2) + result = benchmark_candidate( + spec=spec, + config=ProgramConfig(control_flow="scan", adjoint="default", unroll=1), + seed=7, + warm_repeats=2, + timeout_seconds=120, + ) + assert result.valid + assert result.compile_seconds >= 0 + assert result.first_execute_seconds >= 0 + assert result.warm_seconds_median > 0 + assert result.peak_rss_bytes > 0 + assert result.worker_pid != result.parent_pid +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_benchmark.py -q` + +Expected: imports fail. + +- [x] **Step 3: Implement worker and parent protocol** + +The parent invokes: + +```text +python -m vqetape.worker --request-json --result-json +``` + +using a temporary directory. The worker: + +1. reconstructs spec and config; +2. creates deterministic parameters with NumPy; +3. builds and lowers the executable; +4. times compilation; +5. times and synchronizes first execution; +6. runs synchronized warm repetitions; +7. queries executable memory analysis when present; +8. records `resource.getrusage(...).ru_maxrss` with platform-correct units; +9. writes one JSON result atomically. + +The parent must convert timeout, non-zero exit, missing JSON, and malformed +JSON into invalid `CandidateResult` values with a useful `failure` string. + +- [x] **Step 4: Run tests** + +Run: `python -m pytest tests/test_benchmark.py -q` + +Expected: the worker PID differs from the test process and all tests pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/worker.py src/vqetape/benchmark.py tests/test_benchmark.py +git commit -m "feat: benchmark VQE candidates in fresh processes" +``` + +--- + +### Task 8: End-to-End Compiler and CLI + +**Files:** +- Create: `src/vqetape/compiler.py` +- Create: `src/vqetape/cli.py` +- Modify: `src/vqetape/__init__.py` +- Create: `tests/test_compiler_cli.py` +- Create: `README.md` + +**Interfaces:** +- Consumes: `CompileRequest`. +- Produces: `CompileResult`, `compile_vqe`, CLI JSON report, and selected executable. + +- [x] **Step 1: Write end-to-end tests** + +```python +import json +import subprocess +import sys + +import jax.numpy as jnp + +from vqetape.compiler import compile_vqe +from vqetape.spec import CompileRequest, TFIMVQESpec + + +def test_compile_vqe_selects_valid_executable(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=3, depth=2), + memory_budget_bytes=1024**3, + expected_vqe_steps=5, + warm_repeats=2, + ) + compiled = compile_vqe(request) + theta = jnp.zeros(request.spec.parameter_shape) + energy, gradient = compiled.executable(theta) + assert energy.shape == () + assert gradient.shape == request.spec.parameter_shape + assert compiled.selected.valid + assert compiled.selected in compiled.pareto + + +def test_cli_writes_machine_readable_report(tmp_path): + report = tmp_path / "report.json" + completed = subprocess.run( + [ + sys.executable, + "-m", + "vqetape.cli", + "--nqubits", + "3", + "--depth", + "2", + "--memory-budget-gib", + "1", + "--expected-steps", + "5", + "--warm-repeats", + "2", + "--output", + str(report), + ], + check=False, + capture_output=True, + text=True, + timeout=180, + ) + assert completed.returncode == 0, completed.stderr + payload = json.loads(report.read_text()) + assert payload["selected"]["valid"] is True + assert payload["measurement_notes"]["peak_rss"] == "process peak RSS, not GPU peak memory" +``` + +- [x] **Step 2: Verify failure** + +Run: `python -m pytest tests/test_compiler_cli.py -q` + +Expected: imports fail. + +- [x] **Step 3: Implement compiler orchestration** + +`compile_vqe` must: + +1. enumerate statically feasible candidates; +2. benchmark the unrolled reference first; +3. benchmark all other candidates; +4. calculate errors against the reference outputs using the same deterministic + parameter vector; +5. mark candidates outside tolerance invalid; +6. calculate the Pareto frontier; +7. select the minimum compile-plus-horizon candidate; +8. rebuild the selected executable in the parent process; +9. return all results and a JSON-serializable report. + +- [x] **Step 4: Implement CLI and documentation** + +The README must include: + +- installation with a Python 3.12 virtual environment; +- a minimal API example; +- a CLI example; +- parameter and Hamiltonian conventions; +- explicit explanation of cold, first-execute, warm, RSS, and JAX memory fields; +- first-prototype limitations; +- the two research decision gates. + +- [x] **Step 5: Run all tests** + +Run: `JAX_ENABLE_X64=1 python -m pytest -q` + +Expected: all tests pass. + +- [x] **Step 6: Run a reproducible experiment** + +Run: + +```bash +python -m vqetape.cli \ + --nqubits 4 \ + --depth 4 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 5 \ + --output outputs/vqetape-smoke-report.json +``` + +Expected: the command exits zero, every valid candidate is numerically +equivalent to the reference within tolerance, and the output contains a +non-empty Pareto frontier. + +- [x] **Step 7: Commit** + +```bash +git add README.md src/vqetape tests/test_compiler_cli.py outputs/vqetape-smoke-report.json +git commit -m "feat: compile and report VQETape candidates" +``` + +--- + +## Self-Review Record + +- **Spec coverage:** The plan covers all initial-repository success criteria in + the approved design. Direct bra-H-ket contraction and cuTensorNet are + explicitly later phases, not silently omitted prototype requirements. +- **Placeholder scan:** The plan contains no `TBD`, implementation `TODO`, or + unspecified error-handling step. +- **Type consistency:** `TFIMVQESpec`, `ProgramConfig`, `CompileRequest`, + `CandidateResult`, `build_value_and_grad`, `benchmark_candidate`, and + `compile_vqe` retain the same names and responsibilities across tasks. +- **Execution mode:** Implement inline in the current session because the + current collaboration policy does not authorize subagent dispatch. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-ad-aware-contraction.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-ad-aware-contraction.md new file mode 100644 index 000000000..9aa2b9f93 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-ad-aware-contraction.md @@ -0,0 +1,1009 @@ +# VQETape AD-Aware Contraction Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Analyze and execute complete differentiated spatial contractions so +VQETape can rank paths by forward plus reverse cost and compare an explicit +contraction VJP with generic JAX reverse mode. + +**Architecture:** A new pure static-analysis module reconstructs active +operand shapes for every serialized contraction step, generates the reverse +einsums, and accounts for forward/reverse FLOPs, traffic, residual elements, +and largest intermediates. A custom-VJP contraction executor saves leaf +operands, recomputes forward intermediates during backward, and applies the +explicit reverse einsums. Spatial planning aggregates these costs across +first, repeated block, tail, and last programs and reports an AD-aware rank +before empirical fresh-process selection. + +**Tech Stack:** Python 3.12, JAX custom VJP, NumPy, opt_einsum, pytest, +fresh-process VQETape workers. + +## Global Constraints + +- Preserve exact complex-valued JAX cotangent conventions. +- Validate every explicit VJP against `jax.vjp` and complete VQE gradients. +- Do not use measured warm time as an input to the first static cost model. +- Keep the existing forward-only paths and AD schedules as controls. +- Serialize every measured path and cost vector in the JSON report. +- Static ranking may prune only when an explicit budget is requested; the + default scientific report measures the complete comparison set. + +--- + +### Task 1: Reconstruct differentiated contraction costs + +**Files:** +- Create: `src/vqetape/ad_analysis.py` +- Create: `tests/test_ad_analysis.py` + +**Interfaces:** + +```python +@dataclass(frozen=True) +class DifferentiatedContractionCost: + forward_flops: int + backward_flops: int + forward_read_elements: int + forward_write_elements: int + backward_read_elements: int + backward_write_elements: int + residual_elements: int + peak_live_residual_elements: int + largest_forward_intermediate_elements: int + largest_backward_intermediate_elements: int + forward_contractions: int + backward_contractions: int + + @property + def total_flops(self) -> int: + return self.forward_flops + self.backward_flops + + @property + def traffic_elements(self) -> int: + return ( + self.forward_read_elements + + self.forward_write_elements + + self.backward_read_elements + + self.backward_write_elements + ) + + def to_dict(self) -> dict[str, int]: + payload = asdict(self) + payload["total_flops"] = self.total_flops + payload["traffic_elements"] = self.traffic_elements + return payload + + +@dataclass(frozen=True) +class ReverseStep: + forward_step_index: int + input_index: int + equation: str + input_shapes: tuple[tuple[int, ...], ...] + output_shape: tuple[int, ...] + flops: int + largest_intermediate_elements: int + + +def reverse_einsum_equation( + forward_equation: str, + input_index: int, +) -> str: + left, output = forward_equation.split("->", maxsplit=1) + inputs = tuple(left.split(",")) + parts = (output,) + tuple( + value + for index, value in enumerate(inputs) + if index != input_index + ) + return ",".join(parts) + "->" + inputs[input_index] + + +def analyze_contraction_steps( + input_shapes: tuple[tuple[int, ...], ...], + steps: tuple[ContractionStep, ...], +) -> tuple[ + DifferentiatedContractionCost, + tuple[tuple[ReverseStep, ...], ...], +]: + """Analyze the serialized forward steps and their generated VJPs.""" +``` + +- [ ] **Step 1: Write hand-checkable reverse-equation tests** + +```python +def test_reverse_equations_for_matrix_product(): + equation = "ab,bc->ac" + assert reverse_einsum_equation(equation, 0) == "ac,bc->ab" + assert reverse_einsum_equation(equation, 1) == "ac,ab->bc" + + +def test_reverse_equation_for_scalar_inner_product(): + equation = "ab,ab->" + assert reverse_einsum_equation(equation, 0) == ",ab->ab" + assert reverse_einsum_equation(equation, 1) == ",ab->ab" +``` + +- [ ] **Step 2: Write a differentiated-cost test** + +Construct: + +```python +steps = ( + ContractionStep( + positions=(1, 0), + einsum="bc,ab->ac", + output_subscript="ac", + output_elements=8, + ), + ContractionStep( + positions=(1, 0), + einsum="ac,ac->", + output_subscript="", + output_elements=1, + ), +) +``` + +with input shapes `((2, 3), (3, 4), (2, 4))`. Assert: + +```python +cost, reverse = analyze_contraction_steps(input_shapes, steps) +assert cost.forward_flops > 0 +assert cost.backward_flops > cost.forward_flops +assert cost.residual_elements == 6 + 12 + 8 + 8 +assert cost.peak_live_residual_elements == cost.residual_elements +assert cost.forward_contractions == 2 +assert cost.backward_contractions == 4 +assert len(reverse) == 2 +assert tuple(len(group) for group in reverse) == (2, 2) +``` + +- [ ] **Step 3: Run tests and verify failure** + +Run: + +```bash +.venv/bin/pytest tests/test_ad_analysis.py -q +``` + +Expected: import failure because the module does not exist. + +- [ ] **Step 4: Implement equation parsing and shape propagation** + +Split every equation with: + +```python +left, output_subscript = equation.split("->", maxsplit=1) +input_subscripts = tuple(left.split(",")) +``` + +Map symbols to extents from each `(subscript, shape)` pair and reject: + +```python +if len(subscript) != len(shape): + raise ValueError("einsum subscript rank does not match shape") +``` + +Build reverse equations with output cotangent first, followed by every other +forward operand in original order: + +```python +parts = (output_subscript,) + tuple( + subscript + for index, subscript in enumerate(input_subscripts) + if index != input_index +) +return ",".join(parts) + "->" + input_subscripts[input_index] +``` + +- [ ] **Step 5: Implement FLOP and intermediate accounting** + +For each forward or reverse equation call: + +```python +_, info = oe.contract_path( + equation, + *shapes, + shapes=True, + optimize="greedy", +) +``` + +Use `int(info.opt_cost)` and `int(info.largest_intermediate)`. Simulate the +active operand list using the same sequential `pop(position)` semantics as +the runtime executor. + +Count each original input and each non-root forward output once in +`residual_elements`. A contraction tree consumes every active value once, so +the save-all peak at backward entry equals this sum. + +- [ ] **Step 6: Run tests** + +Run: + +```bash +.venv/bin/pytest tests/test_ad_analysis.py -q +``` + +Expected: all tests pass. + +- [ ] **Step 7: Commit** + +```bash +git add src/vqetape/ad_analysis.py tests/test_ad_analysis.py +git commit -m "feat: analyze differentiated contraction costs" +``` + +--- + +### Task 2: Aggregate AD costs over spatial programs + +**Files:** +- Modify: `src/vqetape/ad_analysis.py` +- Modify: `tests/test_ad_analysis.py` + +**Interfaces:** + +```python +@dataclass(frozen=True) +class SpatialDifferentiatedCost: + first: DifferentiatedContractionCost + bulk: DifferentiatedContractionCost | None + tail: DifferentiatedContractionCost | None + last: DifferentiatedContractionCost + bulk_block_count: int + dtype_bytes: int + + def _sum_metric(self, name: str) -> int: + return ( + int(getattr(self.first, name)) + + self.bulk_block_count + * ( + int(getattr(self.bulk, name)) + if self.bulk is not None + else 0 + ) + + ( + int(getattr(self.tail, name)) + if self.tail is not None + else 0 + ) + + int(getattr(self.last, name)) + ) + + @property + def peak_role_residual_elements(self) -> int: + return max( + item.peak_live_residual_elements + for item in ( + self.first, + self.bulk, + self.tail, + self.last, + ) + if item is not None + ) + + @property + def total_forward_flops(self) -> int: + return self._sum_metric("forward_flops") + + @property + def total_backward_flops(self) -> int: + return self._sum_metric("backward_flops") + + @property + def total_traffic_bytes(self) -> int: + return self._sum_metric("traffic_elements") * self.dtype_bytes + + @property + def static_score(self) -> int: + return ( + self.total_forward_flops + + self.total_backward_flops + + 4 * self._sum_metric("traffic_elements") + + 16 * self.peak_role_residual_elements + ) + + def to_dict(self) -> dict[str, object]: + return { + "total_forward_flops": self.total_forward_flops, + "total_backward_flops": self.total_backward_flops, + "total_traffic_bytes": self.total_traffic_bytes, + "static_score": self.static_score, + } + + +def analyze_spatial_transfer( + transfer: SpatialTransferProgram, +) -> SpatialDifferentiatedCost: + """Aggregate differentiated costs for all spatial program roles.""" +``` + +- [ ] **Step 1: Write aggregate-scaling tests** + +```python +def test_spatial_ad_cost_multiplies_repeated_blocks(): + one = analyze_spatial_transfer( + plan_spatial_transfer( + TFIMVQESpec(nqubits=8, depth=1), + "greedy", + block_width=1, + ) + ) + two = analyze_spatial_transfer( + plan_spatial_transfer( + TFIMVQESpec(nqubits=8, depth=1), + "greedy", + block_width=2, + ) + ) + assert one.bulk_block_count == 6 + assert two.bulk_block_count == 3 + assert one.total_forward_flops > 0 + assert one.total_backward_flops > 0 + assert one.total_traffic_bytes > 0 + assert one.static_score > 0 +``` + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +.venv/bin/pytest tests/test_ad_analysis.py -q +``` + +Expected: missing aggregate interface. + +- [ ] **Step 3: Implement exact role aggregation** + +For every metric \(m\), use: + +```python +total = ( + getattr(first, metric) + + bulk_block_count * ( + getattr(bulk, metric) if bulk is not None else 0 + ) + + (getattr(tail, metric) if tail is not None else 0) + + getattr(last, metric) +) +``` + +Define the initial dimensionless static score: + +```python +static_score = ( + total_forward_flops + + total_backward_flops + + 4 * total_traffic_elements + + 16 * peak_role_residual_elements +) +``` + +This is a deterministic first model, not a calibrated runtime prediction. + +- [ ] **Step 4: Run tests** + +Run: + +```bash +.venv/bin/pytest tests/test_ad_analysis.py -q +``` + +Expected: all pass. + +- [ ] **Step 5: Commit** + +```bash +git add src/vqetape/ad_analysis.py tests/test_ad_analysis.py +git commit -m "feat: score differentiated spatial programs" +``` + +--- + +### Task 3: Add the explicit spatial adjoint configuration + +**Files:** +- Modify: `src/vqetape/spec.py` +- Modify: `tests/test_spec.py` + +**Interfaces:** +- `SpatialAdjoint` becomes + `Literal["default", "remat", "segmented", "explicit"]`. +- `SpatialProgramConfig("greedy", "explicit", block_width=2)` round-trips and + labels distinctly. + +- [ ] **Step 1: Add failing configuration tests** + +```python +def test_explicit_spatial_adjoint_round_trip(): + config = SpatialProgramConfig( + "greedy", + "explicit", + block_width=2, + unroll=2, + ) + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert "explicit" in config.label +``` + +Add `"explicit"` to the valid parametrized adjoint set. + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +.venv/bin/pytest tests/test_spec.py -q +``` + +Expected: unsupported adjoint. + +- [ ] **Step 3: Extend the type and validation** + +Update both the literal and `__post_init__` tuple. Keep +`segment_length is None` mandatory for explicit mode. + +- [ ] **Step 4: Run tests** + +Run: + +```bash +.venv/bin/pytest tests/test_spec.py -q +``` + +Expected: all pass. + +- [ ] **Step 5: Commit** + +```bash +git add src/vqetape/spec.py tests/test_spec.py +git commit -m "feat: configure explicit spatial adjoints" +``` + +--- + +### Task 4: Execute explicit complex contraction VJPs + +**Files:** +- Create: `src/vqetape/explicit_vjp.py` +- Create: `tests/test_explicit_vjp.py` + +**Interfaces:** + +```python +ExplicitContraction = Callable[..., Array] + + +def build_explicit_contraction_vjp( + input_shapes: tuple[tuple[int, ...], ...], + steps: tuple[ContractionStep, ...], +) -> ExplicitContraction: + """Return a custom-VJP executor for the serialized contraction.""" +``` + +The returned function takes one positional array per input shape and returns +the contraction output. + +- [ ] **Step 1: Write value and VJP comparisons** + +```python +@pytest.mark.parametrize( + ("equation", "shapes"), + [ + ("ab,bc->ac", ((2, 3), (3, 4))), + ("ab,ab->", ((2, 3), (2, 3))), + ], +) +def test_explicit_complex_vjp_matches_jax(equation, shapes): + output_shape = ( + (2, 4) + if equation == "ab,bc->ac" + else () + ) + step = ContractionStep( + positions=(0, 0), + einsum=equation, + output_subscript=equation.split("->", maxsplit=1)[1], + output_elements=int(np.prod(output_shape)), + ) + values = tuple( + ( + jnp.arange( + np.prod(shape), + dtype=jnp.float32, + ).reshape(shape) + + 1j + * jnp.linspace( + 0.1, + 0.9, + np.prod(shape), + dtype=jnp.float32, + ).reshape(shape) + ) + for shape in shapes + ) + explicit = build_explicit_contraction_vjp( + shapes, + (step,), + ) + reference = lambda *xs: jnp.einsum( + equation, + *xs, + optimize=True, + ) + output = explicit(*values) + cotangent = jnp.full_like(output, 0.7 + 0.2j) + actual_value, actual_pullback = jax.vjp(explicit, *values) + expected_value, expected_pullback = jax.vjp(reference, *values) + np.testing.assert_allclose( + actual_value, + expected_value, + rtol=1e-5, + atol=1e-5, + ) + for actual, expected in zip( + actual_pullback(cotangent), + expected_pullback(cotangent), + strict=True, + ): + np.testing.assert_allclose( + actual, + expected, + rtol=1e-5, + atol=1e-5, + ) +``` + +The concrete test implementation must construct values with: + +```python +values = tuple( + ( + jnp.arange(np.prod(shape), dtype=jnp.float32) + .reshape(shape) + + 1j + * jnp.linspace( + 0.1, + 0.9, + np.prod(shape), + dtype=jnp.float32, + ).reshape(shape) + ) + for shape in shapes +) +``` + +Compare returned values and every cotangent against: + +```python +reference = lambda *xs: jnp.einsum( + equation, + *xs, + optimize=True, +) +``` + +with `rtol=1e-5, atol=1e-5`. + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +.venv/bin/pytest tests/test_explicit_vjp.py -q +``` + +Expected: missing module. + +- [ ] **Step 3: Implement forward recomputation metadata** + +Assign leaf IDs `0..len(inputs)-1`. For each step, sequentially pop +`(node_id, value, subscript)` tuples, execute the forward einsum, assign the +next node ID, and append: + +```python +( + output_node_id, + selected_node_ids, + input_subscripts, + output_subscript, + selected_values, +) +``` + +The ordinary function and custom forward rule both call the same helper. The +custom forward residual stores only the original input tuple. + +- [ ] **Step 4: Implement reverse contractions** + +Recompute the trace from saved leaves. Seed the root cotangent. Traverse +records in reverse. For input \(i\), execute: + +```python +equation = reverse_einsum_equation( + forward_equation, + i, +) +reverse_inputs = ( + output_cotangent, + *( + jnp.conj(value) + for index, value in enumerate(selected_values) + if index != i + ), +) +input_cotangent = jnp.einsum( + equation, + *reverse_inputs, + optimize=True, +) +``` + +Return leaf cotangents in original input order. + +- [ ] **Step 5: Run explicit VJP tests** + +Run: + +```bash +.venv/bin/pytest tests/test_explicit_vjp.py -q +``` + +Expected: all pass for matrix and scalar outputs with complex operands. + +- [ ] **Step 6: Commit** + +```bash +git add src/vqetape/explicit_vjp.py tests/test_explicit_vjp.py +git commit -m "feat: execute explicit contraction VJPs" +``` + +--- + +### Task 5: Integrate explicit VJPs into blocked spatial execution + +**Files:** +- Modify: `src/vqetape/spatial_programs.py` +- Modify: `tests/test_spatial_programs.py` +- Modify: `tests/test_tape.py` + +**Interfaces:** +- Consumes: `build_explicit_contraction_vjp`. +- Produces exact `SpatialProgramConfig(..., adjoint="explicit")` energy and + complete gradients for first, bulk, tail, and last roles. + +- [ ] **Step 1: Add complete-gradient tests** + +```python +@pytest.mark.parametrize( + ("nqubits", "block_width"), + [(5, 1), (8, 2), (8, 3), (10, 4)], +) +def test_explicit_spatial_adjoint_matches_default( + nqubits, + block_width, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + default = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=block_width, + ), + ) + explicit = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "explicit", + block_width=block_width, + ), + ) + expected = jax.value_and_grad(default)(theta) + actual = jax.value_and_grad(explicit)(theta) + np.testing.assert_allclose(actual[0], expected[0], atol=1e-5) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) +``` + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +.venv/bin/pytest \ + tests/test_spatial_programs.py::test_explicit_spatial_adjoint_matches_default \ + -q +``` + +Expected: explicit mode follows no custom executor. + +- [ ] **Step 3: Build one explicit executor per role** + +Inside `build_spatial_energy`, create: + +```python +explicit_first = build_explicit_contraction_vjp( + transfer.first.input_shapes, + transfer.first.steps, +) +``` + +and corresponding optional bulk/tail and last executors only when +`config.adjoint == "explicit"`. + +Add an executor parameter to the local contraction helper. Its operand order +is exactly `(carry, *tensors)` when `carry_is_input`, otherwise `tensors`. + +- [ ] **Step 4: Route every role through its explicit executor** + +First, repeated block, tail, and last must all use the explicit executor. +Default, remat, and segmented code paths remain unchanged. + +- [ ] **Step 5: Add a residual-profile comparison** + +For `nqubits=12, depth=1, block_width=3`, compare explicit and default +profiles and assert: + +```python +assert explicit_profile.total_bytes > 0 +assert default_profile.total_bytes > 0 +``` + +Do not require explicit to be lower until measured compiler/device evidence +supports that claim. + +- [ ] **Step 6: Run focused tests** + +Run: + +```bash +.venv/bin/pytest \ + tests/test_spatial_programs.py \ + tests/test_tape.py \ + -q +``` + +Expected: all pass. + +- [ ] **Step 7: Commit** + +```bash +git add \ + src/vqetape/spatial_programs.py \ + tests/test_spatial_programs.py \ + tests/test_tape.py +git commit -m "feat: differentiate spatial blocks explicitly" +``` + +--- + +### Task 6: Rank and report AD-aware spatial candidates + +**Files:** +- Modify: `src/vqetape/spatial_candidates.py` +- Modify: `src/vqetape/worker.py` +- Modify: `tests/test_spatial_candidates.py` +- Modify: `tests/test_benchmark.py` + +**Interfaces:** + +```python +@dataclass(frozen=True) +class RankedSpatialConfig: + config: SpatialProgramConfig + ad_cost: SpatialDifferentiatedCost + + +def rank_spatial_candidates_by_ad_cost( + request: CompileRequest, + candidates: tuple[SpatialProgramConfig, ...], +) -> tuple[RankedSpatialConfig, ...]: + """Return every candidate sorted by deterministic differentiated cost.""" +``` + +- [ ] **Step 1: Add deterministic ranking tests** + +Build all greedy width-one and width-two default configs, rank twice, and +assert: + +```python +assert first == second +assert { + item.config for item in first +} == set(candidates) +assert all(item.ad_cost.static_score > 0 for item in first) +assert tuple(item.ad_cost.static_score for item in first) == tuple( + sorted(item.ad_cost.static_score for item in first) +) +``` + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +.venv/bin/pytest tests/test_spatial_candidates.py -q +``` + +Expected: missing ranking interface. + +- [ ] **Step 3: Implement ranking with serialized paths** + +Replan every config with: + +```python +transfer = plan_spatial_transfer( + request.spec, + config.path_strategy, + explicit_paths=config.column_paths, + block_width=config.block_width, +) +``` + +Analyze it and sort by: + +```python +( + item.ad_cost.static_score, + item.ad_cost.total_backward_flops, + item.config.label, +) +``` + +- [ ] **Step 4: Enumerate explicit candidates without exploding the grid** + +For each `(strategy, block_width)` add explicit configs only for `unroll=1` +and for the largest applicable unroll. Reuse the same serialized paths. +Segmented remains width one only. + +- [ ] **Step 5: Report AD cost from fresh workers** + +Add: + +```python +"differentiated_cost": analyze_spatial_transfer(transfer).to_dict() +``` + +to `static_estimate`. The report must include total forward/backward FLOPs, +traffic bytes, residual elements, and the deterministic static score. + +- [ ] **Step 6: Run candidate and worker tests** + +Run: + +```bash +.venv/bin/pytest \ + tests/test_spatial_candidates.py \ + tests/test_benchmark.py \ + -q +``` + +Expected: all pass. + +- [ ] **Step 7: Commit** + +```bash +git add \ + src/vqetape/spatial_candidates.py \ + src/vqetape/worker.py \ + tests/test_spatial_candidates.py \ + tests/test_benchmark.py +git commit -m "feat: rank spatial paths by differentiated cost" +``` + +--- + +### Task 7: Measure AD-aware and explicit programs + +**Files:** +- Create: `outputs/vqetape-ad-aware-report-n8-d2.json` +- Create: `outputs/vqetape-ad-aware-report-n12-d2.json` +- Create: `outputs/vqetape-ad-aware-findings.md` +- Modify: `README.md` + +**Interfaces:** +- Consumes: complete candidate search and static AD metrics. +- Produces: correctness, performance, residual, and rank-correlation evidence. + +- [ ] **Step 1: Run the eight-qubit report** + +```bash +.venv/bin/vqetape \ + --mode spatial-transfer \ + --nqubits 8 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 5 \ + --timeout-seconds 300 \ + --output outputs/vqetape-ad-aware-report-n8-d2.json +``` + +- [ ] **Step 2: Run the twelve-qubit report** + +```bash +.venv/bin/vqetape \ + --mode spatial-transfer \ + --nqubits 12 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 5 \ + --timeout-seconds 300 \ + --output outputs/vqetape-ad-aware-report-n12-d2.json +``` + +- [ ] **Step 3: Analyze rank quality** + +For valid spatial candidates calculate Spearman rank correlation between: + +- forward FLOPs and warm runtime; +- total differentiated FLOPs and warm runtime; +- static AD score and warm runtime; +- residual elements and compiler temporary bytes. + +The findings must report the actual coefficients and candidate counts; it +must not claim improvement if the AD score is no better than forward FLOPs. + +- [ ] **Step 4: Compare explicit versus fixed-path controls** + +For every explicit candidate, locate the default candidate with identical +strategy, block width, unroll, and serialized path. Report compile, warm, +compiler temporary, logical tape, energy error, and gradient error deltas. + +- [ ] **Step 5: Write decision gates** + +Promote explicit VJP only if it is valid and nondominated on measured compile, +warm, and compiler temporary memory. Retain AD analysis even after a negative +execution result if its static ranking improves holdout correlation. + +- [ ] **Step 6: Update README and validate** + +Run: + +```bash +.venv/bin/python -m json.tool \ + outputs/vqetape-ad-aware-report-n8-d2.json >/dev/null +.venv/bin/python -m json.tool \ + outputs/vqetape-ad-aware-report-n12-d2.json >/dev/null +.venv/bin/pytest -q +git diff --check +``` + +- [ ] **Step 7: Commit** + +```bash +git add \ + README.md \ + outputs/vqetape-ad-aware-report-n8-d2.json \ + outputs/vqetape-ad-aware-report-n12-d2.json \ + outputs/vqetape-ad-aware-findings.md +git commit -m "docs: report AD-aware VQETape results" +``` + +## Self-review + +- Spec coverage: static reverse graph, cost aggregation, complex explicit + VJP, spatial integration, deterministic ranking, fresh-worker metrics, and + measured decision gates each have a task. +- Placeholder scan: all implementation steps define exact interfaces, + equations, tests, commands, and expected outcomes. +- Type consistency: `DifferentiatedContractionCost` is the column-level + record; `SpatialDifferentiatedCost` aggregates roles; worker reports the + latter; `RankedSpatialConfig` carries the same type. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-blocked-spatial.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-blocked-spatial.md new file mode 100644 index 000000000..619cc9234 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-blocked-spatial.md @@ -0,0 +1,973 @@ +# VQETape Blocked Spatial Transfer Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add exact multi-site spatial blocks, rolled blocked execution, and +fresh-process autotuning that can reduce the current spatial warm-runtime gap +without losing correctness or fixed-depth compile/memory scaling. + +**Architecture:** Extend the spatial planner from one reusable bulk column to +one reusable width-\(b\) bulk block plus an optional shorter tail. Each block +contracts the incoming boundary together with all local tensors and emits only +the outgoing boundary. Runtime packs interior-site parameters into blocks, +scans the repeated full blocks, executes one tail if required, and reuses the +same serialized block paths across every AD policy. + +**Tech Stack:** Python 3.12, JAX, NumPy, opt_einsum, pytest, fresh-process +benchmark workers. + +## Global Constraints + +- Preserve exact open-boundary TFIM energy and complete-gradient semantics. +- Never materialize a full \(D\times D\) transfer tensor. +- Preserve old report/config deserialization with implicit `block_width=1`. +- Search a path once per `(path_strategy, block_width)` and reuse it across + default, remat, unroll, and segmented schedules. +- Use fresh subprocesses for measured candidates. +- Keep GPU claims out of this CPU phase. + +--- + +### Task 1: Serialize the block-width configuration axis + +**Files:** +- Modify: `src/vqetape/spec.py` +- Modify: `tests/test_spec.py` + +**Interfaces:** +- Consumes: existing `SpatialProgramConfig`. +- Produces: `SpatialProgramConfig.block_width: int` with default `1`; labels + contain `-b{block_width}-`; old dictionaries without the field deserialize + as width one. + +- [ ] **Step 1: Write failing validation and round-trip tests** + +Add: + +```python +def test_spatial_config_round_trips_block_width(): + config = SpatialProgramConfig( + "greedy", + "remat", + unroll=2, + block_width=3, + ) + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert "-b3-" in config.label + + +def test_spatial_config_rejects_nonpositive_block_width(): + with pytest.raises(ValueError, match="block_width"): + SpatialProgramConfig( + "greedy", + "default", + block_width=0, + ) + + +def test_old_spatial_config_defaults_to_width_one(): + payload = { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": None, + "column_paths": None, + "representation": "spatial_transfer", + } + assert SpatialProgramConfig.from_dict(payload).block_width == 1 +``` + +- [ ] **Step 2: Run the focused tests and verify failure** + +Run: + +```bash +pytest tests/test_spec.py -q +``` + +Expected: failures because `block_width` is not accepted or serialized. + +- [ ] **Step 3: Add and validate `block_width`** + +Add after `unroll`: + +```python +block_width: int = 1 +``` + +In `__post_init__` add: + +```python +if self.block_width < 1: + raise ValueError("block_width must be positive") +``` + +Change the label base to: + +```python +base = ( + f"spatial-transfer-{self.path_strategy}-" + f"b{self.block_width}-{self.adjoint}-u{self.unroll}" +) +``` + +Allow `column_paths` lengths from two through four: + +```python +if len(self.column_paths) not in (2, 3, 4): + raise ValueError( + "column paths must contain first/last, " + "first/block/last, or first/block/tail/last paths" + ) +``` + +- [ ] **Step 4: Run focused tests** + +Run: + +```bash +pytest tests/test_spec.py -q +``` + +Expected: all tests pass. + +- [ ] **Step 5: Commit** + +```bash +git add src/vqetape/spec.py tests/test_spec.py +git commit -m "feat: add spatial block-width configuration" +``` + +--- + +### Task 2: Plan exact multi-site spatial blocks + +**Files:** +- Modify: `src/vqetape/spatial_plan.py` +- Modify: `tests/test_spatial_plan.py` + +**Interfaces:** +- Consumes: `TFIMVQESpec`, `PathStrategy`, optional serialized paths, and + `block_width`. +- Produces: + +```python +ColumnRole = Literal["first", "bulk", "tail", "last"] + +@dataclass(frozen=True) +class SpatialColumnSlot: + kind: SlotKind + layer: int | None + site_offset: int + shape: tuple[int, ...] + +@dataclass(frozen=True) +class SpatialColumnProgram: + ... + width: int + +@dataclass(frozen=True) +class SpatialTransferProgram: + ... + bulk: SpatialColumnProgram | None + tail: SpatialColumnProgram | None + block_width: int + bulk_block_count: int + tail_width: int +``` + +- [ ] **Step 1: Write failing planner tests** + +Add: + +```python +@pytest.mark.parametrize( + ("nqubits", "block_width", "full_blocks", "tail_width"), + [ + (8, 1, 6, 0), + (8, 2, 3, 0), + (8, 4, 1, 2), + (5, 3, 1, 0), + (4, 3, 0, 2), + ], +) +def test_blocked_spatial_plan_partitions_interior( + nqubits, + block_width, + full_blocks, + tail_width, +): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=nqubits, depth=1), + "greedy", + block_width=block_width, + ) + assert program.block_width == block_width + assert program.bulk_block_count == full_blocks + assert program.tail_width == tail_width + assert (program.bulk.width if program.bulk else 0) == ( + block_width if full_blocks else 0 + ) + assert (program.tail.width if program.tail else 0) == tail_width + + +def test_block_program_keeps_only_external_boundary(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=8, depth=2), + "greedy", + block_width=3, + ) + assert program.bulk is not None + assert program.bulk.left_boundary_shape == program.boundary_shape + assert program.bulk.right_boundary_shape == program.boundary_shape + assert program.bulk.output_elements == program.boundary_dimension + assert all( + step.output_elements < program.boundary_dimension**2 + for step in program.bulk.steps + ) + + +def test_block_slots_record_site_offsets(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=6, depth=1), + "greedy", + block_width=2, + ) + assert program.bulk is not None + assert {slot.site_offset for slot in program.bulk.slots} == {0, 1} +``` + +- [ ] **Step 2: Run the planner tests and verify failure** + +Run: + +```bash +pytest tests/test_spatial_plan.py -q +``` + +Expected: failures for missing block planning fields and argument. + +- [ ] **Step 3: Extend planner records** + +Add `tail`, `width`, `site_offset`, `block_width`, `bulk_block_count`, and +`tail_width` exactly as declared in the Interfaces block. Preserve `bulk=None` +for no repeated full block and `tail=None` for no remainder. + +- [ ] **Step 4: Generalize `_plan_column` to a site range** + +Change its local input to: + +```python +local_slots: tuple[tuple[TensorSlot, int], ...] +``` + +where the integer is the offset from the first site of the block. Build +`SpatialColumnSlot` with: + +```python +SpatialColumnSlot( + slot.kind, + slot.layer, + site_offset, + slot.shape, +) +``` + +Include `site_offset` in the canonical signature so a path cannot be reused +against a different blocked topology. + +- [ ] **Step 5: Partition first, repeated block, tail, and last** + +Use: + +```python +interior_count = spec.nqubits - 2 +bulk_block_count, tail_width = divmod( + interior_count, + block_width, +) +``` + +Plan ranges: + +```python +first = [0, 1) +bulk = [1, 1 + block_width) if bulk_block_count else None +tail_start = 1 + bulk_block_count * block_width +tail = [tail_start, tail_start + tail_width) if tail_width else None +last = [nqubits - 1, nqubits) +``` + +The left boundary is cut `start - 1`; the right boundary is cut `stop - 1` +unless `stop == nqubits`. The expected serialized role order is +`first`, optional `bulk`, optional `tail`, `last`. + +- [ ] **Step 6: Validate repeated block topology without rerunning stochastic search** + +For every later full block, rebuild its canonical operand/output pattern and +compare it with the representative block signature. Reject a mismatch with: + +```python +raise ValueError("bulk block topology is not canonical") +``` + +- [ ] **Step 7: Run planner tests** + +Run: + +```bash +pytest tests/test_spatial_plan.py -q +``` + +Expected: all tests pass, including all pre-existing one-site tests. + +- [ ] **Step 8: Commit** + +```bash +git add src/vqetape/spatial_plan.py tests/test_spatial_plan.py +git commit -m "feat: plan exact multi-site spatial blocks" +``` + +--- + +### Task 3: Execute blocked scans and tails exactly + +**Files:** +- Modify: `src/vqetape/spatial_programs.py` +- Modify: `tests/test_spatial_programs.py` + +**Interfaces:** +- Consumes: `SpatialTransferProgram` from Task 2 and packed site parameters + with shape `(interior_count, 3, depth)`. +- Produces: + +```python +def bind_spatial_block( + program: SpatialColumnProgram, + packed_sites: Array, + spec: TFIMVQESpec, +) -> tuple[Array, ...] + +def _bulk_block_transition( + carry: Array, + packed_block: Array, + *, + spec: TFIMVQESpec, + program: SpatialColumnProgram, +) -> Array +``` + +- [ ] **Step 1: Write failing energy/gradient and tail tests** + +Add: + +```python +@pytest.mark.parametrize("nqubits", [4, 5, 6, 8]) +@pytest.mark.parametrize("block_width", [1, 2, 3, 4]) +@pytest.mark.parametrize("adjoint", ["default", "remat"]) +def test_blocked_spatial_gradient_matches_width_one( + nqubits, + block_width, + adjoint, +): + if block_width > nqubits - 2: + pytest.skip("block wider than interior") + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=1, + ), + ) + blocked = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=block_width, + ), + ) + expected = jax.value_and_grad(reference)(theta) + actual = jax.value_and_grad(blocked)(theta) + np.testing.assert_allclose(actual[0], expected[0], atol=1e-5) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) + + +def test_blocked_spatial_tail_is_differentiated(): + spec = TFIMVQESpec(nqubits=8, depth=1) + theta = jnp.linspace( + -0.3, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + one = build_spatial_energy( + spec, + SpatialProgramConfig("greedy", "default", block_width=1), + ) + four = build_spatial_energy( + spec, + SpatialProgramConfig("greedy", "default", block_width=4), + ) + np.testing.assert_allclose( + jax.value_and_grad(four)(theta)[1], + jax.value_and_grad(one)(theta)[1], + rtol=1e-4, + atol=1e-5, + ) +``` + +- [ ] **Step 2: Run focused runtime tests and verify failure** + +Run: + +```bash +pytest tests/test_spatial_programs.py -q +``` + +Expected: failures because `block_width` is ignored by planning/runtime. + +- [ ] **Step 3: Implement `bind_spatial_block`** + +Validate: + +```python +expected = (program.width, 3, spec.depth) +if tuple(packed_sites.shape) != expected: + raise ValueError( + f"packed block shape must be {expected}, " + f"got {tuple(packed_sites.shape)}" + ) +``` + +For every slot, construct: + +```python +site_values = packed_sites[slot.site_offset] +parameters = SpatialSiteParameters( + left_rzz=site_values[0], + right_rzz=site_values[1], + rx=site_values[2], +) +``` + +Then apply the existing tensor binding rules using that site's parameters. +Retain `bind_spatial_column` as a width-one compatibility wrapper. + +- [ ] **Step 4: Pack and scan full blocks** + +Compute: + +```python +packed_bulk = _bulk_parameters(theta) +full_site_count = ( + transfer.bulk_block_count * transfer.block_width +) +full_blocks = packed_bulk[:full_site_count].reshape( + transfer.bulk_block_count, + transfer.block_width, + 3, + spec.depth, +) +tail_sites = packed_bulk[full_site_count:] +``` + +Scan `full_blocks` when `bulk_block_count > 0`. Wrap the whole block +transition in `jax.checkpoint` for remat. Execute `transfer.tail` once after +the scan when present. + +- [ ] **Step 5: Preserve rolled control flow** + +Add: + +```python +def test_blocked_spatial_scan_lowers_to_while(): + spec = TFIMVQESpec(nqubits=10, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=2, + unroll=1, + ), + ) + assert "while" in executable.lower(theta).as_text().lower() +``` + +- [ ] **Step 6: Run runtime tests** + +Run: + +```bash +pytest tests/test_spatial_programs.py -q +``` + +Expected: all spatial runtime tests pass. + +- [ ] **Step 7: Commit** + +```bash +git add src/vqetape/spatial_programs.py tests/test_spatial_programs.py +git commit -m "feat: execute exact blocked spatial VQE scans" +``` + +--- + +### Task 4: Generalize segmented checkpoint accounting to block units + +**Files:** +- Modify: `src/vqetape/spatial_programs.py` +- Modify: `tests/test_spatial_programs.py` + +**Interfaces:** +- Consumes: packed full blocks from Task 3. +- Produces: segmented custom VJP over full block units; tail remains one + ordinary differentiable transition. + +- [ ] **Step 1: Write failing blocked segmented tests** + +Add: + +```python +@pytest.mark.parametrize( + ("nqubits", "block_width", "segment_length"), + [(10, 2, 2), (14, 3, 2), (15, 4, 2)], +) +def test_blocked_segmented_matches_blocked_default( + nqubits, + block_width, + segment_length, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + default = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=block_width, + ), + ) + segmented = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "segmented", + block_width=block_width, + segment_length=segment_length, + ), + ) + expected = jax.value_and_grad(default)(theta) + actual = jax.value_and_grad(segmented)(theta) + np.testing.assert_allclose(actual[0], expected[0], atol=1e-5) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) +``` + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +pytest tests/test_spatial_programs.py -q +``` + +Expected: segmented builder expects site-shaped units. + +- [ ] **Step 3: Parameterize `_build_segmented_bulk` by full block count** + +Use: + +```python +unit_count = transfer.bulk_block_count +unit_width = transfer.block_width +expected = (unit_count, unit_width, 3, spec.depth) +``` + +Pad only the leading unit axis. `run_segment` applies +`_bulk_block_transition`. Tail parameters are not included in the segmented +custom VJP and are executed after its result. + +- [ ] **Step 4: Update checkpoint count** + +Use: + +```python +unit_count = (spec.nqubits - 2) // config.block_width +if config.adjoint == "segmented": + return ( + ceil(unit_count / config.segment_length) + + config.segment_length + ) +return unit_count +``` + +When `unit_count == 0`, reject segmented execution with the existing +bulk-required error. + +- [ ] **Step 5: Run spatial runtime tests** + +Run: + +```bash +pytest tests/test_spatial_programs.py -q +``` + +Expected: all pass. + +- [ ] **Step 6: Commit** + +```bash +git add src/vqetape/spatial_programs.py tests/test_spatial_programs.py +git commit -m "feat: checkpoint blocked spatial recurrences" +``` + +--- + +### Task 5: Search block width, unroll, and AD policy fairly + +**Files:** +- Modify: `src/vqetape/spatial_candidates.py` +- Modify: `tests/test_spatial_candidates.py` + +**Interfaces:** +- Consumes: block-aware planner/configuration. +- Produces: deterministic candidates over widths + `1..min(4, interior_count)` and unroll values from `{1,2,4}` capped by the + number of full blocks. + +- [ ] **Step 1: Replace the candidate-axis test** + +Assert: + +```python +assert {item.block_width for item in candidates} == {1, 2, 3, 4} +for strategy in {"greedy", "random-greedy", "auto-hq"}: + for block_width in {1, 2, 3, 4}: + matching = [ + item + for item in candidates + if item.path_strategy == strategy + and item.block_width == block_width + ] + assert len({item.column_paths for item in matching}) == 1 +``` + +For every non-segmented candidate verify: + +```python +full_blocks = (request.spec.nqubits - 2) // item.block_width +assert item.unroll in { + min(value, full_blocks) + for value in (1, 2, 4) + if full_blocks +} +``` + +Segmented candidates remain width one in the default search because the +current measured phase found them dominated; explicit blocked segmented +configs remain supported by Task 4. + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +pytest tests/test_spatial_candidates.py -q +``` + +Expected: current enumeration only yields width one and unroll one/two. + +- [ ] **Step 3: Enumerate block-aware candidates** + +For each strategy and width: + +```python +transfer = plan_spatial_transfer( + request.spec, + strategy, + block_width=block_width, +) +column_paths = tuple( + program.path + for program in ( + transfer.first, + transfer.bulk, + transfer.tail, + transfer.last, + ) + if program is not None +) +``` + +If there are no full blocks, emit one default candidate with unroll one. +Otherwise emit default/remat for unique capped values from `{1,2,4}`. +Emit the existing segmented width-one candidate with +`round(sqrt(full_blocks))`. + +- [ ] **Step 4: Replan every stored path in the fairness test** + +Call: + +```python +planned = plan_spatial_transfer( + request.spec, + item.path_strategy, + explicit_paths=item.column_paths, + block_width=item.block_width, +) +``` + +Compare first, optional bulk, optional tail, and last FLOP tuples for all AD +policies that share a strategy and width. + +- [ ] **Step 5: Run candidate tests** + +Run: + +```bash +pytest tests/test_spatial_candidates.py -q +``` + +Expected: all pass. + +- [ ] **Step 6: Commit** + +```bash +git add src/vqetape/spatial_candidates.py tests/test_spatial_candidates.py +git commit -m "feat: autotune blocked spatial VQE programs" +``` + +--- + +### Task 6: Report blocked static and executable metrics + +**Files:** +- Modify: `src/vqetape/worker.py` +- Modify: `tests/test_benchmark.py` + +**Interfaces:** +- Consumes: block-aware fresh-worker configuration. +- Produces static report keys: + +```text +block_width +bulk_blocks +tail_width +bulk_block_path_flops +tail_path_flops +estimated_energy_flops +``` + +- [ ] **Step 1: Extend the spatial benchmark test** + +For a width-two candidate assert: + +```python +assert result.static_estimate["block_width"] == 2 +assert result.static_estimate["bulk_blocks"] == 2 +assert result.static_estimate["tail_width"] == 0 +assert result.static_estimate["bulk_block_path_flops"] > 0 +assert result.static_estimate["estimated_energy_flops"] > 0 +``` + +Use `nqubits=6`, `depth=1`, `warm_repeats=1`. + +- [ ] **Step 2: Run and verify failure** + +Run: + +```bash +pytest tests/test_benchmark.py -q +``` + +Expected: missing report keys or planner receives no block width. + +- [ ] **Step 3: Pass `block_width` through the worker** + +Plan with: + +```python +transfer = plan_spatial_transfer( + spec, + config.path_strategy, + explicit_paths=config.column_paths, + block_width=config.block_width, +) +``` + +Calculate: + +```python +bulk_flops = transfer.bulk.flops if transfer.bulk else 0 +tail_flops = transfer.tail.flops if transfer.tail else 0 +estimated_energy_flops = ( + transfer.first.flops + + transfer.bulk_block_count * bulk_flops + + tail_flops + + transfer.last.flops +) +``` + +Retain the old `bulk_path_flops` and `bulk_columns` fields for report +compatibility; add the new unambiguous block fields. + +- [ ] **Step 4: Run benchmark tests** + +Run: + +```bash +pytest tests/test_benchmark.py -q +``` + +Expected: all pass. + +- [ ] **Step 5: Run the complete regression suite** + +Run: + +```bash +pytest -q +``` + +Expected: all existing and new tests pass. + +- [ ] **Step 6: Commit** + +```bash +git add src/vqetape/worker.py tests/test_benchmark.py +git commit -m "test: report blocked spatial VQE metrics" +``` + +--- + +### Task 7: Produce decision-gate evidence + +**Files:** +- Modify: `README.md` +- Create: `outputs/vqetape-blocked-spatial-report-n8-d2.json` +- Create: `outputs/vqetape-blocked-spatial-report-n12-d2.json` +- Create: `outputs/vqetape-blocked-spatial-findings.md` + +**Interfaces:** +- Consumes: complete blocked candidate search. +- Produces: reproducible reports and an explicit promote/reject decision. + +- [ ] **Step 1: Run the eight-qubit fresh-process benchmark** + +Run: + +```bash +vqetape \ + --mode spatial-transfer \ + --nqubits 8 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 5 \ + --timeout-seconds 300 \ + --output outputs/vqetape-blocked-spatial-report-n8-d2.json +``` + +Expected: every valid candidate includes `block_width`; at least widths one +through four are represented. + +- [ ] **Step 2: Run the twelve-qubit benchmark** + +Run: + +```bash +vqetape \ + --mode spatial-transfer \ + --nqubits 12 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 5 \ + --timeout-seconds 300 \ + --output outputs/vqetape-blocked-spatial-report-n12-d2.json +``` + +Expected: a complete fresh-process report or explicit per-candidate failure +reasons. + +- [ ] **Step 3: Write findings from measured JSON** + +The findings document must include: + +- the exact workload contract; +- candidate counts and correctness errors; +- selected candidate versus the best global-MPO control; +- best spatial warm/compile/compiler-temp values by block width; +- fixed-path comparisons where available; +- whether warm improved by at least 20% from 594.33 microseconds at + \(n=12,L=2\); +- whether compile or temporary memory still beats global MPO; +- a promote/reject decision for blocked execution; +- limitations and CPU-only wording. + +- [ ] **Step 4: Update README** + +Document `block_width`, optional tail execution, and the expanded autotuning +axes. Link the blocked findings after the previous spatial findings. + +- [ ] **Step 5: Validate JSON and full tests** + +Run: + +```bash +python -m json.tool \ + outputs/vqetape-blocked-spatial-report-n8-d2.json >/dev/null +python -m json.tool \ + outputs/vqetape-blocked-spatial-report-n12-d2.json >/dev/null +pytest -q +git diff --check +``` + +Expected: JSON parses, all tests pass, and no whitespace errors remain. + +- [ ] **Step 6: Commit** + +```bash +git add \ + README.md \ + outputs/vqetape-blocked-spatial-report-n8-d2.json \ + outputs/vqetape-blocked-spatial-report-n12-d2.json \ + outputs/vqetape-blocked-spatial-findings.md +git commit -m "docs: report blocked spatial VQETape results" +``` + +## Self-review + +- Spec coverage: configuration, planning, execution, tails, AD policies, + candidate fairness, fresh-worker reporting, correctness, performance, and + documentation each have a task. +- Placeholder scan: every implementation and verification action names exact + files, interfaces, commands, and expected results. +- Type consistency: `block_width` is carried by `SpatialProgramConfig`; + `SpatialTransferProgram` exposes `bulk_block_count` and `tail_width`; + runtime and worker use those exact names. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-completion-audit.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-completion-audit.md new file mode 100644 index 000000000..310e7cef7 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-completion-audit.md @@ -0,0 +1,104 @@ +# VQETape Holdout, Device, and Completion Audit Plan + +**Goal:** Close the remaining generality and hardware-evidence gaps, then +prove every approved next-stage requirement is implemented, tested, and +documented. + +**Architecture:** Add a small exact longitudinal-field Ising holdout whose +Hamiltonian and RY–RZZ–RX ansatz break the TFIM global-X charge. Use dense +statevector diagonalization only as a small-system oracle and measured +L-BFGS-B training as an end-to-solution check. Separately emit a structured +runtime capability report that distinguishes CPU RSS, compiler memory +analysis, and genuine GPU availability. Finish with a requirement-to-artifact +audit and one clean full regression run. + +**Constraints:** + +- The holdout must not use the TFIM BdG ground-energy formula. +- Its nonzero global-X commutator must be measured explicitly. +- Z2 symmetry compression must be marked inapplicable, never silently used. +- Holdout energy and gradients must agree with dense/finite-difference oracles. +- GPU results are only reported when JAX exposes a GPU device. +- CPU peak RSS is never labeled GPU memory. +- A missing optional GPU produces a structured skip reason, not a failure. +- Completion is declared only after the full suite passes and the worktree is + clean. + +--- + +## Task 1: Add a symmetry-breaking one-dimensional holdout + +**Files:** +- Create: `src/vqetape/holdout.py` +- Create: `tests/test_holdout.py` + +Define the longitudinal-field Ising Hamiltonian + +\[ +H=-J\sum_i Z_iZ_{i+1}-g\sum_iX_i-h\sum_iZ_i +\] + +and a depth-controlled RY–RZZ–RX statevector ansatz. Implement exact +Hamiltonian action, dense ground energy for audited small systems, value and +gradient, global-X commutator norm, and an explicit symmetry-applicability +result. + +Verify normalization, dense energy, central-difference gradients, nonzero +commutator when \(h\ne0\), and recovery of TFIM symmetry when \(h=0\). + +Commit: `feat: add symmetry-breaking VQE holdout` + +--- + +## Task 2: Measure holdout VQE convergence + +**Files:** +- Create: `src/vqetape/holdout_report.py` +- Create: `tests/test_holdout_report.py` +- Create: `outputs/vqetape-holdout-report.json` +- Create: `outputs/vqetape-holdout-findings.md` + +Run four-qubit complex128 L-BFGS-B in a fresh process. Include explicit +compile, synchronized optimization, exact dense ground energy, calls, time to +target, and final error. Record that Z2-native spatial compression is +inapplicable and why. + +Commit: `docs: report symmetry-breaking VQE holdout` + +--- + +## Task 3: Emit runtime and GPU capability evidence + +**Files:** +- Create: `src/vqetape/runtime_capabilities.py` +- Create: `tests/test_runtime_capabilities.py` +- Create: `outputs/vqetape-runtime-capabilities.json` +- Create: `outputs/vqetape-runtime-capabilities.md` + +Report Python, OS, JAX/jaxlib, backend, every device kind, x64 state, GPU count, +and whether genuine device-memory profiling is available. If no GPU exists, +emit `gpu_benchmark.status = "skipped"` with an exact reason. Keep compiler +memory analysis and process RSS explicitly separate. + +Commit: `docs: report VQETape runtime capabilities` + +--- + +## Task 4: Complete the project audit + +**Files:** +- Create: `docs/vqetape-completion-audit.md` +- Modify: `README.md` + +Map every approved design item to code, tests, raw reports, findings, and +decision outcome. Include negative results and defaults. Run: + +```bash +python -m pytest -q +``` + +Record the final pass/skip count and elapsed time. Validate every committed +JSON report, compile all package modules, verify `git diff --check`, and +confirm a clean worktree. + +Commit: `docs: complete VQETape implementation audit` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-contraction-aware-ansatz.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-contraction-aware-ansatz.md new file mode 100644 index 000000000..3171483d4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-contraction-aware-ansatz.md @@ -0,0 +1,191 @@ +# VQETape Contraction-Aware Ansatz Growth Implementation Plan + +**Goal:** Compare a fixed RZZ–RX circuit, gradient-only adaptive growth, and +contraction-aware adaptive growth under identical VQE energy targets, operator +pools, screening budgets, optimization budgets, and fresh-process timing. + +**Architecture:** Represent an ansatz as a serialized ordered sequence of +local `RX(i)` and nearest-neighbor `RZZ(i,i+1)`, `YZ(i,i+1)`, and +`ZY(i,i+1)` Pauli rotations. The `YZ`/`ZY` operators are the first Lie- +commutator closure of the original \(X\) and \(ZZ\) generators. They commute +with global X and retain operator-Schmidt rank two, but prevent a fully +optimized depth-one seed from terminating in the zero-gradient tangent space +of the original pool. Begin both +adaptive methods from the same trained depth-one RZZ–RX seed circuit. At each +round, compute every pool operator's exact insertion gradient and diagonal +pure-state quantum metric at zero insertion angle. The gradient-only selector +maximizes metric-normalized signal. The contraction-aware selector divides +that signal by exact spatial-boundary growth plus compiler, warm-runtime, and +memory proxies. Append the selected gate at zero, recompile the changed +structure, warm-start all prior parameters, and reoptimize. Compare both +adaptive methods with a depth-two fixed circuit having the same maximum active +parameter count. + +**Correctness and fairness constraints:** + +- Every gate is an exact unitary; no tensor truncation or approximate energy is + introduced. +- Pool operators commute with the TFIM global-X symmetry. +- The insertion gradient is checked against central finite differences. +- The diagonal metric is checked against the state Jacobian definition. +- Both adaptive selectors screen the complete same pool at every round. +- Both receive the same maximum seven growth rounds and per-round L-BFGS-B + budget. +- Recompilation, screening, optimization, and first-target time are all + included. +- The fixed circuit has fourteen active gates, equal to the depth-one seed plus + seven adaptive additions for four qubits. +- Structural executable reuse requires an exact key over ordered gates, + workload, dtype, JAX version, and device signature. +- Stationary, nonfinite, or metric-degenerate candidates are recorded and + handled deterministically. + +--- + +## Task 1: Define ordered ansatz structures + +**Files:** +- Create: `src/vqetape/ansatz.py` +- Create: `tests/test_ansatz.py` + +Define immutable `AnsatzOperator` and `AnsatzStructure` records with JSON +round trips, validation, labels, parameter counts, a depth-one/depth-two fixed +RZZ–RX constructor, and the complete local symmetry-compatible first- +commutator pool. + +Implement exact statevector application for an ordered parameter vector and +verify it agrees with the existing layered kernel for fixed structures. + +Commit: `feat: define exact adaptive VQE ansatz structures` + +--- + +## Task 2: Derive exact candidate signals + +**Files:** +- Create: `src/vqetape/ansatz_signals.py` +- Create: `tests/test_ansatz_signals.py` + +For appended \(U_A(\alpha)=e^{-i\alpha P_A/2}\), compute + +\[ +g_A +=-\operatorname{Im}\langle P_A\psi|H|\psi\rangle +\] + +and + +\[ +F_{AA} +=\frac14\left(1-\langle P_A\rangle^2\right). +\] + +Return the raw gradient, metric, and regularized normalized signal +\(|g_A|^2/(F_{AA}+\varepsilon)\). Check gradients against JAX autodiff and +central differences for every pool operator. + +Commit: `feat: evaluate exact adaptive ansatz signals` + +--- + +## Task 3: Add contraction-cost deltas and structural cache keys + +**Files:** +- Create: `src/vqetape/ansatz_cost.py` +- Create: `tests/test_ansatz_cost.py` + +For a structure, count entanglers crossing every spatial cut and model the +exact bra–MPO–ket boundary as + +\[ +D=3\cdot4^{\max_e c_e}. +\] + +For every candidate report: + +- \(\Delta\log D\); +- weighted compiler-node delta; +- weighted execution delta; +- relative boundary-memory delta. + +Implement the approved score + +\[ +S(A)= +\frac{|g_A|^2/(F_{AA}+\varepsilon)} +{1+\lambda_D\Delta\log D_A+\lambda_C\Delta C_A+ +\lambda_W\Delta W_A+\lambda_M\Delta M_A}. +\] + +Create a stable cache key including the full ordered structure, workload, +dtype, JAX version, and device signature. + +Commit: `feat: score ansatz growth by contraction cost` + +--- + +## Task 4: Select gates under equal pool budgets + +**Files:** +- Create: `src/vqetape/ansatz_selection.py` +- Create: `tests/test_ansatz_selection.py` + +Define gradient-only and contraction-aware policies. Both evaluate the full +pool and use the same metric regularizer. Resolve score ties by the serialized +operator label. Serialize every candidate's signal, cost deltas, final score, +rank, and selected status. + +Use synthetic signal fixtures to prove that: + +- policies agree when all costs are equal; +- contraction awareness can reject an otherwise highest-gradient gate when it + increases the maximum spatial cut; +- repeated operators remain legal because circuit order changes their action. + +Commit: `feat: select contraction-aware adaptive gates` + +--- + +## Task 5: Execute dynamic VQE growth + +**Files:** +- Create: `src/vqetape/ansatz_training.py` +- Create: `tests/test_ansatz_training.py` + +Compile and optimize each structure in a fresh process. The adaptive runner: + +1. optimizes the shared depth-one seed from the same seeded initialization; +2. screens the full pool; +3. appends one selected gate at zero; +4. recompiles using the structural cache; +5. warm-starts old parameters and optimizes the new structure; +6. stops on the first target crossing or after seven additions. + +Measure cumulative compile, screening, execution/optimization, number of +value-gradient calls, number of compiled structures, peak RSS, final error, +and time to target. Add the fixed depth-two control with the same maximum +fourteen parameters. + +Commit: `feat: train dynamically grown VQE ansatzes` + +--- + +## Task 6: Add the fresh-process comparison report + +**Files:** +- Create: `src/vqetape/ansatz_worker.py` +- Create: `src/vqetape/ansatz_report.py` +- Create: `tests/test_ansatz_report.py` +- Create: `outputs/vqetape-ansatz-report.json` +- Create: `outputs/vqetape-ansatz-findings.md` +- Modify: `README.md` + +Run fixed, gradient-only, and contraction-aware policies on the same four- +qubit TFIM target. Preserve nonconverged results, selection traces, structural +costs, and all timing components. State whether contraction awareness improves +energy, memory proxy, compile cost, or time to target; do not claim a win if it +only changes gate order. + +Validate JSON, run focused tests, then run the full regression suite. + +Commit: `docs: report contraction-aware VQE ansatz results` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-operator-schmidt.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-operator-schmidt.md new file mode 100644 index 000000000..bfab260bf --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-operator-schmidt.md @@ -0,0 +1,872 @@ +# VQETape Operator-Schmidt Representation Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add an exact operator-Schmidt RZZ lowering and jointly search tensor representation, contraction path, and reverse-mode tape for TFIM VQE value-and-full-gradient programs. + +**Architecture:** `TensorProgramConfig` selects either the existing dense rank-4 RZZ tensor or two rank-3 operator-Schmidt factors joined by a dimension-2 bond. Both representations flow through the same template binding, explicit path planning, named residual profiling, fresh-process benchmarking, correctness oracle, and Pareto selection pipeline. + +**Tech Stack:** Python 3.12, JAX 0.11, NumPy 2.x, opt_einsum 3.4, pytest 9 + +## Global Constraints + +- Every representation computes exact energy and the complete padded gradient. +- Dense and operator-Schmidt comparisons use identical VQE semantics, seeds, path strategies, path-search budgets, and fresh-process measurement. +- Tape policies for one representation/path pair reuse one serialized explicit path. +- The Schmidt bond dimension is exactly 2. +- The asymmetric factors use no complex square roots. +- Compiler memory, logical residual bytes, and process RSS remain separate metrics. +- No Hamiltonian MPO, shared Pauli environments, slicing, mixed precision, truncation, ansatz search, or classical optimizer is introduced in this phase. +- Existing dense behavior and serialized reports remain backward-compatible by defaulting to `dense`. + +--- + +### Task 1: Representation Configuration + +**Files:** +- Modify: `src/vqetape/spec.py` +- Modify: `tests/test_spec.py` + +**Interfaces:** +- Consumes: existing `TensorProgramConfig` +- Produces: `GateRepresentation = Literal["dense", "operator_schmidt"]` and `TensorProgramConfig.gate_representation` + +- [x] **Step 1: Write failing configuration tests** + +```python +def test_tensor_program_representation_round_trip(): + config = TensorProgramConfig( + "greedy", + "none", + gate_representation="operator_schmidt", + ) + assert TensorProgramConfig.from_dict(config.to_dict()) == config + assert "operator-schmidt" in config.label + + +def test_tensor_program_rejects_unknown_representation(): + with pytest.raises(ValueError, match="gate_representation"): + TensorProgramConfig( + "greedy", + "none", + gate_representation="sparse", + ) +``` + +- [x] **Step 2: Run the tests and verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spec.py +``` + +Expected: failure because `gate_representation` is not accepted. + +- [x] **Step 3: Add the validated field** + +```python +GateRepresentation = Literal["dense", "operator_schmidt"] + + +@dataclass(frozen=True) +class TensorProgramConfig: + path_strategy: Literal["greedy", "random-greedy", "auto-hq"] + remat_policy: Literal[ + "none", + "all", + "output-ge-threshold", + "term", + "objective", + "subtree", + "named", + ] + threshold_bytes: int | None = None + path: tuple[tuple[int, ...], ...] | None = None + subtree_depth: int | None = None + save_names: tuple[str, ...] | None = None + gate_representation: GateRepresentation = "dense" + representation: Literal["direct_tn"] = "direct_tn" +``` + +Validate membership in `("dense", "operator_schmidt")`. Add +`dense` or `operator-schmidt` to `label` before the path strategy so that +labels remain unique across representations. + +- [x] **Step 4: Run configuration tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spec.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/spec.py tests/test_spec.py +git commit -m "feat: configure RZZ tensor representations" +``` + +--- + +### Task 2: Exact Operator-Schmidt RZZ Factors + +**Files:** +- Modify: `src/vqetape/kernels.py` +- Modify: `tests/test_kernels.py` + +**Interfaces:** +- Consumes: `angle: Array`, JAX complex dtype +- Produces: `rzz_schmidt_factors(angle, dtype) -> tuple[Array, Array]` + +- [x] **Step 1: Write algebraic reconstruction tests** + +```python +@pytest.mark.parametrize("angle", [0.0, 1e-6, -0.7, np.pi - 1e-5]) +def test_rzz_schmidt_factors_reconstruct_dense_gate(angle): + left, right = rzz_schmidt_factors( + jnp.asarray(angle, dtype=jnp.float32), + jnp.complex64, + ) + reconstructed = jnp.einsum("oia,pja->opij", left, right) + expected = rzz_matrix( + jnp.asarray(angle, dtype=jnp.float32), + jnp.complex64, + ).reshape(2, 2, 2, 2) + np.testing.assert_allclose( + np.asarray(reconstructed), + np.asarray(expected), + rtol=1e-6, + atol=1e-6, + ) + assert left.shape == (2, 2, 2) + assert right.shape == (2, 2, 2) +``` + +Add a local `with jax.enable_x64():` test for `complex128`. + +- [x] **Step 2: Verify the tests fail** + +Run: + +```bash +.venv/bin/pytest -q tests/test_kernels.py -k schmidt +``` + +Expected: import failure for `rzz_schmidt_factors`. + +- [x] **Step 3: Implement the asymmetric factors** + +```python +def rzz_schmidt_factors(angle: Array, dtype) -> tuple[Array, Array]: + half = angle / 2 + identity = jnp.eye(2, dtype=dtype) + pauli_z = jnp.asarray([[1, 0], [0, -1]], dtype=dtype) + left = jnp.stack( + ( + jnp.cos(half) * identity, + (-1j * jnp.sin(half)) * pauli_z, + ), + axis=-1, + ) + right = jnp.stack((identity, pauli_z), axis=-1) + return left, right +``` + +- [x] **Step 4: Run kernel tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_kernels.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/kernels.py tests/test_kernels.py +git commit -m "feat: factor RZZ gates by operator Schmidt rank" +``` + +--- + +### Task 3: Representation-Aware Tensor Templates + +**Files:** +- Modify: `src/vqetape/tn_template.py` +- Modify: `tests/test_tn_template.py` + +**Interfaces:** +- Consumes: `build_expectation_template(spec, gate_representation=...)` +- Produces: dense slots or paired `ket_rzz_left`, `ket_rzz_right`, + `bra_rzz_left`, `bra_rzz_right` slots + +- [x] **Step 1: Write topology tests** + +```python +def test_operator_schmidt_template_has_rank_three_factor_slots(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template( + spec, + gate_representation="operator_schmidt", + ) + left = [slot for slot in template.slots if slot.kind == "ket_rzz_left"] + right = [slot for slot in template.slots if slot.kind == "ket_rzz_right"] + expected_gate_count = spec.depth * (spec.nqubits - 1) + assert len(left) == expected_gate_count + assert len(right) == expected_gate_count + assert all(slot.shape == (2, 2, 2) for slot in left + right) + assert all( + extent == 2 + for slot in left + right + for extent in slot.shape + ) + + +def test_dense_template_remains_default(): + spec = TFIMVQESpec(nqubits=3, depth=1) + implicit = build_expectation_template(spec) + explicit = build_expectation_template(spec, gate_representation="dense") + assert implicit == explicit +``` + +- [x] **Step 2: Run the tests and verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py +``` + +Expected: failure because the builder lacks the new keyword and slot kinds. + +- [x] **Step 3: Extend slot kinds and circuit construction** + +Extend `SlotKind` with the four factor kinds. Change `_append_circuit` to accept +`gate_representation`. For each Schmidt RZZ gate: + +```python +schmidt = allocator.take() +output0 = allocator.take() +output1 = allocator.take() +slots.append( + TensorSlot( + kind=left_kind, + indices=(output0, frontier[wire], schmidt), + shape=(2, 2, 2), + layer=layer, + wire=wire, + ) +) +slots.append( + TensorSlot( + kind=right_kind, + indices=(output1, frontier[wire + 1], schmidt), + shape=(2, 2, 2), + layer=layer, + wire=wire, + ) +) +``` + +Dense construction remains unchanged. + +- [x] **Step 4: Run template tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py +``` + +Expected: all pass, including the closed-network invariant. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_template.py tests/test_tn_template.py +git commit -m "feat: build operator-Schmidt VQE networks" +``` + +--- + +### Task 4: Bind Dense and Schmidt Gate Tensors + +**Files:** +- Modify: `src/vqetape/tn_template.py` +- Modify: `tests/test_tn_template.py` + +**Interfaces:** +- Consumes: a representation-aware `TensorNetworkTemplate` +- Produces: `bind_term_tensors` values matching every slot shape + +- [x] **Step 1: Write dense-versus-Schmidt contraction tests** + +```python +@pytest.mark.parametrize("operators", [("Z", "Z", "I"), ("I", "X", "I")]) +def test_dense_and_schmidt_term_contractions_match(operators): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape)).reshape( + spec.parameter_shape + ) + term = ProductPauliTerm(-1.0, operators) + values = [] + for representation in ("dense", "operator_schmidt"): + template = build_expectation_template( + spec, + gate_representation=representation, + ) + tensors = bind_term_tensors(template, theta, term) + assert tuple(tensor.shape for tensor in tensors) == template.shapes + values.append( + oe.contract( + template.equation, + *tensors, + optimize="greedy", + backend="jax", + ) + ) + np.testing.assert_allclose( + np.asarray(values[0]), + np.asarray(values[1]), + rtol=1e-5, + atol=1e-5, + ) +``` + +- [x] **Step 2: Verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py -k schmidt +``` + +Expected: failure because factor slots are not bound. + +- [x] **Step 3: Bind factor tensors** + +Call `rzz_schmidt_factors` once per slot's layer and wire. Select `left` or +`right`, and conjugate the selected factor for bra slots: + +```python +left, right = rzz_schmidt_factors( + theta[slot.layer, 0, slot.wire], + dtype, +) +tensor = left if slot.kind.endswith("_left") else right +if slot.kind.startswith("bra_"): + tensor = jnp.conj(tensor) +``` + +Keep residual names representation-specific through the existing slot-kind +component of the name. + +- [x] **Step 4: Run template and kernel tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_kernels.py tests/test_tn_template.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_template.py tests/test_tn_template.py +git commit -m "feat: bind operator-Schmidt VQE tensors" +``` + +--- + +### Task 5: Representation Metrics and Path Isolation + +**Files:** +- Modify: `src/vqetape/tn_program.py` +- Modify: `tests/test_tn_program.py` + +**Interfaces:** +- Consumes: any representation-aware `TensorNetworkTemplate` +- Produces: `ContractionProgram.input_tensor_elements`, + `ContractionProgram.tensor_count`, and topology-bound explicit paths + +- [x] **Step 1: Write metric and cross-topology rejection tests** + +```python +def test_contraction_program_reports_representation_size(): + spec = TFIMVQESpec(nqubits=3, depth=2) + dense = plan_contraction( + build_expectation_template(spec, gate_representation="dense"), + "greedy", + ) + schmidt = plan_contraction( + build_expectation_template( + spec, + gate_representation="operator_schmidt", + ), + "greedy", + ) + assert dense.tensor_count == len(dense.template.slots) + assert schmidt.tensor_count == len(schmidt.template.slots) + assert dense.input_tensor_elements == sum( + np.prod(shape) for shape in dense.template.shapes + ) + assert schmidt.input_tensor_elements == sum( + np.prod(shape) for shape in schmidt.template.shapes + ) + + +def test_dense_path_cannot_be_reused_for_schmidt_topology(): + spec = TFIMVQESpec(nqubits=3, depth=1) + dense = plan_contraction( + build_expectation_template(spec, gate_representation="dense"), + "greedy", + ) + with pytest.raises((ValueError, IndexError)): + plan_contraction( + build_expectation_template( + spec, + gate_representation="operator_schmidt", + ), + "greedy", + explicit_path=dense.path, + ) +``` + +- [x] **Step 2: Verify metric tests fail** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_program.py -k representation +``` + +Expected: missing metric attributes. + +- [x] **Step 3: Add metrics and explicit path validation** + +Add fields: + +```python +tensor_count: int +input_tensor_elements: int +``` + +Populate them from `template.slots` and `template.shapes`. Wrap opt_einsum +explicit-path errors with a `ValueError` that states the path is incompatible +with the selected topology. + +- [x] **Step 4: Run contraction-program tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_program.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_program.py tests/test_tn_program.py +git commit -m "feat: measure representation contraction programs" +``` + +--- + +### Task 6: Propagate Representation Through VQE Builders + +**Files:** +- Modify: `src/vqetape/tn_vqe.py` +- Modify: `tests/test_tn_vqe.py` + +**Interfaces:** +- Consumes: `gate_representation: GateRepresentation` +- Produces: representation-aware `build_tn_energy` and + `build_tn_value_and_grad` + +- [x] **Step 1: Write full-gradient equivalence tests** + +```python +@pytest.mark.parametrize("representation", ["dense", "operator_schmidt"]) +@pytest.mark.parametrize("policy", ["none", "named"]) +def test_representations_match_statevector_full_gradient(representation, policy): + spec = TFIMVQESpec(nqubits=3, depth=2, coupling=0.8, field=1.1) + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape)).reshape( + spec.parameter_shape + ) + reference = build_value_and_grad( + spec, + ProgramConfig("unrolled", "default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy=policy, + save_names=() if policy == "named" else None, + gate_representation=representation, + ) + expected_energy, expected_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose(energy, expected_energy, atol=1e-5) + np.testing.assert_allclose( + gradient, + expected_gradient, + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(spec.depth), + ) +``` + +- [x] **Step 2: Verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_vqe.py -k representations +``` + +Expected: unexpected keyword argument. + +- [x] **Step 3: Thread representation into template construction** + +Add the keyword to both builders and call: + +```python +template = build_expectation_template( + spec, + gate_representation=gate_representation, +) +``` + +No other energy or AD semantics change. + +- [x] **Step 4: Run VQE correctness tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_vqe.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/tn_vqe.py tests/test_tn_vqe.py +git commit -m "feat: execute Schmidt-lowered VQE gradients" +``` + +--- + +### Task 7: Joint Representation–Path–Tape Candidate Search + +**Files:** +- Modify: `src/vqetape/tn_candidates.py` +- Modify: `src/vqetape/worker.py` +- Modify: `tests/test_tn_candidates.py` + +**Interfaces:** +- Consumes: representations, path strategies, named tape budgets +- Produces: one candidate set and Pareto frontier across all dimensions + +- [x] **Step 1: Write candidate-isolation tests** + +```python +def test_joint_candidates_cover_representations_and_reuse_paths(): + request = CompileRequest( + TFIMVQESpec(nqubits=3, depth=1), + memory_budget_bytes=1024**3, + expected_vqe_steps=10, + ) + candidates = enumerate_tn_candidates( + request, + strategies=("greedy",), + ) + assert {item.gate_representation for item in candidates} == { + "dense", + "operator_schmidt", + } + for representation in ("dense", "operator_schmidt"): + paths = { + item.path + for item in candidates + if item.gate_representation == representation + } + assert len(paths) == 1 + assert next(iter(paths)) +``` + +Add a fresh-worker test for one Schmidt named candidate and assert the +round-tripped config retains `operator_schmidt`. + +- [x] **Step 2: Verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_candidates.py +``` + +Expected: candidate set contains only dense programs. + +- [x] **Step 3: Enumerate both representations** + +Add: + +```python +representations: tuple[GateRepresentation, ...] = ( + "dense", + "operator_schmidt", +) +``` + +Nest representation outside path strategy. Build and search each topology +once, then attach that explicit path to all tape policies for the pair. + +- [x] **Step 4: Thread representation through the worker** + +Pass `config.gate_representation` to `build_tn_energy`. Add to +`static_estimate`: + +```python +"gate_representation": config.gate_representation, +"tensor_count": path_program.tensor_count, +"input_tensor_elements": path_program.input_tensor_elements, +``` + +- [x] **Step 5: Run candidate and worker tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_candidates.py tests/test_benchmark.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/tn_candidates.py src/vqetape/worker.py tests/test_tn_candidates.py +git commit -m "feat: jointly search VQE representations and tapes" +``` + +--- + +### Task 8: Residual Attribution and Decision-Gate Tests + +**Files:** +- Modify: `tests/test_tape.py` +- Modify: `tests/test_tn_vqe.py` + +**Interfaces:** +- Consumes: dense and Schmidt named energy functions +- Produces: evidence that `_diag` is eliminated and tape control works for both + +- [x] **Step 1: Add residual-source tests** + +```python +def test_schmidt_lowering_eliminates_dense_diag_residuals(): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.zeros(spec.parameter_shape) + profiles = {} + for representation in ("dense", "operator_schmidt"): + energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + gate_representation=representation, + ) + profiles[representation] = profile_saved_residuals(energy, theta) + assert profiles["dense"].bytes_by_category().get("jitted:_diag", 0) > 0 + assert ( + profiles["operator_schmidt"] + .bytes_by_category() + .get("jitted:_diag", 0) + == 0 + ) +``` + +Parameterize the existing named-tape budget-ordering test over both +representations. + +- [x] **Step 2: Run tests and inspect the actual residual categories** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tape.py +``` + +Expected: pass after representation propagation; if JAX emits another +primitive name, record the exact structured category rather than parsing +printed text. + +- [x] **Step 3: Add workload-matrix equivalence** + +Parameterize the existing workload matrix over both representations and retain +the zero/plus initial states and two distinct \(J,g\) pairs. + +- [x] **Step 4: Run correctness and residual suites** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tape.py tests/test_tn_vqe.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add tests/test_tape.py tests/test_tn_vqe.py +git commit -m "test: validate Schmidt VQE residual behavior" +``` + +--- + +### Task 9: Reproducible Representation Experiment + +**Files:** +- Modify: `README.md` +- Create: `outputs/vqetape-operator-schmidt-findings.md` +- Create through CLI: `outputs/vqetape-operator-schmidt-report.json` + +**Interfaces:** +- Consumes: complete joint candidate search +- Produces: fixed experimental report and honest decision-gate audit + +- [x] **Step 1: Run a smoke comparison** + +Run: + +```bash +.venv/bin/vqetape \ + --mode direct-tn \ + --nqubits 3 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 3 \ + --output outputs/vqetape-operator-schmidt-report.json +``` + +Expected: valid dense and operator-Schmidt candidates with energy and gradient +errors within `complex64` tolerances. + +- [x] **Step 2: Audit report invariants** + +Run: + +```bash +.venv/bin/python -c "import json; p=json.load(open('outputs/vqetape-operator-schmidt-report.json')); assert {x['config']['gate_representation'] for x in p['candidates']} == {'dense','operator_schmidt'}; assert all(x['valid'] for x in p['candidates'])" +``` + +Expected: no output and exit zero. + +- [x] **Step 3: Write the findings report** + +The report must include one table per representation with: + +- input tensor elements; +- tensor count; +- path FLOPs; +- largest intermediate; +- default logical residual bytes; +- named-full residual bytes; +- compiler temp; +- compile time; +- warm median. + +It must explicitly mark every design decision gate PASS or FAIL and must not +claim device peak-memory improvement from CPU RSS or logical tape bytes. + +- [x] **Step 4: Update README** + +Document `gate_representation`, the new joint search dimension, the exact +factorization, and a link to the findings report. + +- [x] **Step 5: Run the full suite** + +Run: + +```bash +.venv/bin/pytest -q +``` + +Expected: all tests pass. + +- [x] **Step 6: Commit** + +```bash +git add README.md outputs/vqetape-operator-schmidt-findings.md outputs/vqetape-operator-schmidt-report.json +git commit -m "test: report operator-Schmidt VQETape evidence" +``` + +--- + +### Task 10: Completion Audit + +**Files:** +- Modify: `docs/superpowers/plans/2026-07-29-vqetape-operator-schmidt.md` + +**Interfaces:** +- Consumes: implementation commits, test output, experiment report +- Produces: checked plan and requirement-by-requirement completion evidence + +- [x] **Step 1: Check every plan item against current files** + +Confirm: + +```text +configuration -> spec.py and round-trip tests +factor algebra -> kernels.py reconstruction tests +network topology -> tn_template.py closed-network tests +path isolation -> tn_candidates.py explicit-path tests +full gradient -> tn_vqe.py oracle matrix +residual attribution -> test_tape.py structured profiles +fresh benchmark -> worker result and JSON report +decision gates -> findings markdown +``` + +- [x] **Step 2: Verify the repository is clean** + +Run: + +```bash +git status --short +``` + +Expected: no output. + +- [x] **Step 3: Record the final test count** + +Run: + +```bash +.venv/bin/pytest -q +``` + +Expected: all tests pass; record the exact count and elapsed time in the +findings report. + +- [x] **Step 4: Mark completed checkboxes and commit** + +```bash +git add docs/superpowers/plans/2026-07-29-vqetape-operator-schmidt.md outputs/vqetape-operator-schmidt-findings.md +git commit -m "docs: complete operator-Schmidt VQETape phase" +``` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-spatial-transfer.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-spatial-transfer.md new file mode 100644 index 000000000..7d935786b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-spatial-transfer.md @@ -0,0 +1,1817 @@ +# VQETape Exact Spatial-Transfer Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use completed Markdown checkboxes for tracking. + +**Goal:** Lower the exact one-dimensional TFIM bra–MPO–ket VQE network into first/bulk/last spatial contraction programs, execute the bulk with a rolled JAX scan, and compare default, rematerialized, and segmented custom adjoints against the global MPO. + +**Architecture:** `spatial_plan.py` partitions the verified operator-Schmidt MPO template and plans carry-fused column contractions with exact boundary dimension \(3\cdot4^L\). `spatial_programs.py` binds site-local parameters and executes default/remat/segmented scan programs. `spatial_candidates.py` integrates fresh-process validation, Pareto selection, global-MPO controls, and reproducible CLI reports. + +**Tech Stack:** Python 3.12, JAX 0.11, NumPy 2.x, opt_einsum 3.4, pytest 9 + +## Global Constraints + +- The physical workload remains the exact open-boundary TFIM `-J sum(ZZ) - g sum(X)`. +- The source network must use exact operator-Schmidt RZZ factors and the exact bond-dimension-3 TFIM MPO. +- Every candidate returns exact energy and the complete padded gradient. +- The unused parameter gradient `gradient[:, 0, -1]` remains exactly zero. +- A bulk column contraction receives the current carry as operand zero and outputs only the next carry; it must not materialize a \(D\times D\) transfer matrix. +- The exact cut dimension is `3 * 4**depth`. +- The bulk loop must lower through `jax.lax.scan`. +- Fresh-process timing and memory metrics remain distinct from static FLOPs, logical residual bytes, and modeled checkpoint bytes. +- Global-MPO controls and spatial candidates use the same seed, dtype, correctness tolerance, hardware, and synchronization protocol. +- Every adjoint/unroll candidate for one path strategy reuses the same serialized first/bulk/last spatial paths. +- No approximation, truncation, mixed precision, slicing, multi-GPU execution, optimizer co-design, or ansatz search is added in this phase. + +--- + +### Task 1: Spatial Program Configuration and Serialization + +**Files:** +- Modify: `src/vqetape/spec.py` +- Modify: `src/vqetape/selection.py` +- Modify: `tests/test_spec.py` +- Modify: `tests/test_metrics_selection.py` + +**Interfaces:** +- Produces: `SpatialAdjoint = Literal["default", "remat", "segmented"]` +- Produces: `SpatialProgramConfig` +- Produces: `CandidateResult.config` support for spatial programs + +- [x] **Step 1: Write configuration validation and round-trip tests** + +Add to `tests/test_spec.py`: + +```python +from vqetape.spec import SpatialProgramConfig + + +def test_spatial_program_config_round_trip(): + config = SpatialProgramConfig( + path_strategy="greedy", + adjoint="segmented", + unroll=2, + segment_length=3, + ) + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert config.label == "spatial-transfer-greedy-segmented-u2-s3" + + +@pytest.mark.parametrize( + "kwargs", + [ + {"path_strategy": "unknown", "adjoint": "default"}, + {"path_strategy": "greedy", "adjoint": "unknown"}, + {"path_strategy": "greedy", "adjoint": "default", "unroll": 0}, + { + "path_strategy": "greedy", + "adjoint": "segmented", + "segment_length": None, + }, + { + "path_strategy": "greedy", + "adjoint": "default", + "segment_length": 2, + }, + ], +) +def test_spatial_program_config_rejects_invalid_values(kwargs): + with pytest.raises(ValueError): + SpatialProgramConfig(**kwargs) +``` + +Add a `CandidateResult` JSON round-trip using this config to +`tests/test_metrics_selection.py`. + +- [x] **Step 2: Run the tests and verify the missing type** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spec.py tests/test_metrics_selection.py +``` + +Expected: import failure for `SpatialProgramConfig`. + +- [x] **Step 3: Implement the config** + +Add to `src/vqetape/spec.py`: + +```python +SpatialAdjoint = Literal["default", "remat", "segmented"] + + +@dataclass(frozen=True) +class SpatialProgramConfig: + path_strategy: Literal["greedy", "random-greedy", "auto-hq"] + adjoint: SpatialAdjoint + unroll: int = 1 + segment_length: int | None = None + column_paths: ( + tuple[tuple[tuple[int, ...], ...], ...] | None + ) = None + representation: Literal["spatial_transfer"] = "spatial_transfer" + + def __post_init__(self) -> None: + if self.path_strategy not in ("greedy", "random-greedy", "auto-hq"): + raise ValueError( + f"unsupported path_strategy: {self.path_strategy}" + ) + if self.adjoint not in ("default", "remat", "segmented"): + raise ValueError(f"unsupported adjoint: {self.adjoint}") + if self.unroll < 1: + raise ValueError("unroll must be positive") + if self.representation != "spatial_transfer": + raise ValueError( + f"unsupported representation: {self.representation}" + ) + if self.adjoint == "segmented": + if self.segment_length is None or self.segment_length < 1: + raise ValueError( + "segmented adjoint requires positive segment_length" + ) + elif self.segment_length is not None: + raise ValueError( + "segment_length is only valid for segmented adjoint" + ) + if self.column_paths is not None: + if len(self.column_paths) not in (2, 3): + raise ValueError( + "column paths must contain first/last or " + "first/bulk/last paths" + ) + + @property + def label(self) -> str: + base = ( + f"spatial-transfer-{self.path_strategy}-" + f"{self.adjoint}-u{self.unroll}" + ) + if self.segment_length is not None: + return f"{base}-s{self.segment_length}" + return base + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> SpatialProgramConfig: + values = dict(payload) + if values.get("column_paths") is not None: + values["column_paths"] = tuple( + tuple( + tuple(int(position) for position in step) + for step in path + ) + for path in values["column_paths"] + ) + return cls(**values) +``` + +Extend the config union and representation branch in `selection.py`: + +```python +config: ProgramConfig | TensorProgramConfig | SpatialProgramConfig +``` + +and: + +```python +if config_payload.get("representation") == "direct_tn": + values["config"] = TensorProgramConfig.from_dict(config_payload) +elif config_payload.get("representation") == "spatial_transfer": + values["config"] = SpatialProgramConfig.from_dict(config_payload) +else: + values["config"] = ProgramConfig.from_dict(config_payload) +``` + +- [x] **Step 4: Run configuration tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spec.py tests/test_metrics_selection.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/spec.py src/vqetape/selection.py tests/test_spec.py tests/test_metrics_selection.py +git commit -m "feat: configure spatial-transfer VQETape programs" +``` + +--- + +### Task 2: Exact Spatial Partition and Boundary Analysis + +**Files:** +- Create: `src/vqetape/spatial_plan.py` +- Create: `tests/test_spatial_plan.py` + +**Interfaces:** +- Produces: `SpatialColumnSlot` +- Produces: `SpatialColumnProgram` +- Produces: `SpatialTransferProgram` +- Produces: `spatial_slot_site(slot: TensorSlot) -> int` +- Produces: `plan_spatial_transfer(spec, strategy) -> SpatialTransferProgram` + +- [x] **Step 1: Write slot-ownership and cut-dimension tests** + +Create `tests/test_spatial_plan.py`: + +```python +from math import prod + +import pytest + +from vqetape.spatial_plan import ( + plan_spatial_transfer, + spatial_slot_site, +) +from vqetape.spec import TFIMVQESpec +from vqetape.tn_template import build_mpo_expectation_template + + +@pytest.mark.parametrize("depth", [1, 2, 3]) +def test_spatial_partition_has_exact_boundary_dimension(depth): + spec = TFIMVQESpec(nqubits=4, depth=depth) + program = plan_spatial_transfer(spec, "greedy") + expected_shape = (2,) * (2 * depth) + (3,) + assert program.boundary_shape == expected_shape + assert program.boundary_dimension == 3 * 4**depth + assert prod(program.boundary_shape) == program.boundary_dimension + assert program.first.right_boundary_shape == expected_shape + assert program.last.left_boundary_shape == expected_shape + assert program.bulk is not None + assert program.bulk.left_boundary_shape == expected_shape + assert program.bulk.right_boundary_shape == expected_shape + assert program.first.output_elements == program.boundary_dimension + assert program.bulk.output_elements == program.boundary_dimension + assert program.last.output_elements == 1 + + +def test_rzz_factor_ownership_uses_physical_site(): + spec = TFIMVQESpec(nqubits=3, depth=1) + template = build_mpo_expectation_template( + spec, + gate_representation="operator_schmidt", + ) + left = next(slot for slot in template.slots if slot.kind == "ket_rzz_left") + right = next( + slot for slot in template.slots if slot.kind == "ket_rzz_right" + ) + assert spatial_slot_site(left) == left.wire + assert spatial_slot_site(right) == right.wire + 1 + + +def test_two_qubit_program_has_no_bulk_column(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=2, depth=2), + "greedy", + ) + assert program.bulk is None +``` + +- [x] **Step 2: Verify the planner module is missing** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_plan.py +``` + +Expected: import failure for `vqetape.spatial_plan`. + +- [x] **Step 3: Add planning records and site ownership** + +Create `src/vqetape/spatial_plan.py` with: + +```python +from __future__ import annotations + +from collections import defaultdict +from dataclasses import dataclass +from math import prod +from typing import Literal + +import opt_einsum as oe + +from vqetape.spec import TFIMVQESpec +from vqetape.tn_program import ContractionStep, PathStrategy +from vqetape.tn_template import ( + SlotKind, + TensorSlot, + build_mpo_expectation_template, +) + + +@dataclass(frozen=True) +class SpatialColumnSlot: + kind: SlotKind + layer: int | None + shape: tuple[int, ...] + + +@dataclass(frozen=True) +class SpatialColumnProgram: + role: Literal["first", "bulk", "last"] + equation: str + path: tuple[tuple[int, ...], ...] + slots: tuple[SpatialColumnSlot, ...] + input_shapes: tuple[tuple[int, ...], ...] + carry_is_input: bool + left_boundary_shape: tuple[int, ...] + right_boundary_shape: tuple[int, ...] + flops: int + largest_intermediate_elements: int + output_elements: int + steps: tuple[ContractionStep, ...] + + +@dataclass(frozen=True) +class SpatialTransferProgram: + spec: TFIMVQESpec + strategy: PathStrategy + first: SpatialColumnProgram + bulk: SpatialColumnProgram | None + last: SpatialColumnProgram + boundary_shape: tuple[int, ...] + boundary_dimension: int + + +def spatial_slot_site(slot: TensorSlot) -> int: + if slot.wire is None: + raise ValueError(f"slot {slot.kind} has no physical location") + if slot.kind in ( + "ket_rzz_right", + "bra_rzz_right", + ): + return slot.wire + 1 + if slot.kind in ( + "ket_rzz", + "bra_rzz", + ): + raise ValueError("dense RZZ tensors cannot be spatially partitioned") + return slot.wire +``` + +- [x] **Step 4: Implement cut analysis** + +Inside `plan_spatial_transfer`, construct the exact source template and index +uses: + +```python +template = build_mpo_expectation_template( + spec, + gate_representation="operator_schmidt", +) +slots_by_site: dict[int, list[TensorSlot]] = defaultdict(list) +index_uses: dict[int, list[tuple[int, int]]] = defaultdict(list) +for slot in template.slots: + site = spatial_slot_site(slot) + if site < 0 or site >= spec.nqubits: + raise ValueError(f"slot {slot.kind} maps outside the chain") + slots_by_site[site].append(slot) + for index, extent in zip(slot.indices, slot.shape, strict=True): + index_uses[index].append((site, extent)) + +cuts: list[list[int]] = [[] for _ in range(spec.nqubits - 1)] +dimensions: dict[int, int] = {} +for index, uses in index_uses.items(): + extent, cut_site = _cut_for_index(index, uses) + dimensions[index] = extent + if cut_site is None: + continue + cuts[cut_site].append(index) + +for cut in cuts: + cut.sort() +cut_shapes = tuple( + tuple(dimensions[index] for index in cut) + for cut in cuts +) +expected_shape = (2,) * (2 * spec.depth) + (3,) +_validate_cut_shapes(cut_shapes, expected_shape) +``` + +- [x] **Step 5: Add explicit spatial validation helpers** + +Use these helpers from Step 4 so malformed topology behavior is independently +testable: + +```python +def _cut_for_index( + index: int, + uses: list[tuple[int, int]], +) -> tuple[int, int | None]: + sites = sorted({site for site, _ in uses}) + extents = {extent for _, extent in uses} + if len(extents) != 1: + raise ValueError(f"inconsistent extent for spatial index {index}") + extent = extents.pop() + if len(sites) == 1: + return extent, None + if len(sites) != 2 or sites[1] != sites[0] + 1: + raise ValueError(f"index {index} is not nearest-neighbor local") + return extent, sites[0] + + +def _validate_cut_shapes( + cut_shapes: tuple[tuple[int, ...], ...], + expected_shape: tuple[int, ...], +) -> None: + if any(shape != expected_shape for shape in cut_shapes): + raise ValueError( + f"inconsistent spatial cut shapes: {cut_shapes}; " + f"expected {expected_shape}" + ) +``` + +- [x] **Step 6: Implement carry-fused column planning** + +Add a private `_plan_column` that prepends a synthetic carry operand for bulk +and last roles: + +```python +def _plan_column( + *, + role: Literal["first", "bulk", "last"], + local_slots: tuple[TensorSlot, ...], + left_indices: tuple[int, ...], + right_indices: tuple[int, ...], + dimensions: dict[int, int], + strategy: PathStrategy, +) -> SpatialColumnProgram: + carry_is_input = bool(left_indices) + operand_indices: list[tuple[int, ...]] = [] + input_shapes: list[tuple[int, ...]] = [] + if carry_is_input: + operand_indices.append(left_indices) + input_shapes.append( + tuple(dimensions[index] for index in left_indices) + ) + for slot in local_slots: + operand_indices.append(slot.indices) + input_shapes.append(slot.shape) + equation = ( + ",".join( + "".join(oe.get_symbol(index) for index in indices) + for indices in operand_indices + ) + + "->" + + "".join(oe.get_symbol(index) for index in right_indices) + ) + path, info = oe.contract_path( + equation, + *input_shapes, + shapes=True, + optimize=strategy, + ) + explicit_path = tuple( + tuple(int(position) for position in item) + for item in path + ) +``` + +Build the explicit steps: + +```python +expression = oe.contract_expression( + equation, + *input_shapes, + optimize=explicit_path, +) +symbol_dimensions = { + oe.get_symbol(index): extent + for index, extent in dimensions.items() +} +steps: list[ContractionStep] = [] +for contraction in expression.contraction_list: + positions, _, einsum, _, _ = contraction + output_subscript = einsum.split("->", maxsplit=1)[1] + step_output_elements = prod( + symbol_dimensions[symbol] for symbol in output_subscript + ) + steps.append( + ContractionStep( + positions=tuple(int(position) for position in positions), + einsum=einsum, + output_subscript=output_subscript, + output_elements=step_output_elements, + ) + ) +``` + +Set: + +```python +output_elements = prod( + dimensions[index] for index in right_indices +) +``` + +with `prod(()) == 1`. Convert source slots to `SpatialColumnSlot`. + +Build every site program, verify the canonical structural signature of all +bulk sites is identical, and return the first, representative bulk, and last +program. Canonicalize each index pattern before comparing bulk signatures: + +```python +def _canonical_pattern( + operands: tuple[tuple[int, ...], ...], + output: tuple[int, ...], +) -> tuple[tuple[tuple[int, ...], ...], tuple[int, ...]]: + mapping: dict[int, int] = {} + + def canonical(index: int) -> int: + if index not in mapping: + mapping[index] = len(mapping) + return mapping[index] + + canonical_operands = tuple( + tuple(canonical(index) for index in operand) + for operand in operands + ) + canonical_output = tuple(canonical(index) for index in output) + return canonical_operands, canonical_output +``` + +The bulk signature is: + +```python +( + tuple((slot.kind, slot.layer, slot.shape) for slot in local_slots), + tuple(input_shapes), + _canonical_pattern(tuple(operand_indices), right_indices), +) +``` + +- [x] **Step 7: Add topology rejection tests** + +Add: + +```python +from vqetape.spatial_plan import ( + _cut_for_index, + _validate_cut_shapes, +) + + +def test_dense_rzz_slot_has_no_spatial_owner(): + slot = TensorSlot( + "ket_rzz", + (0, 1, 2, 3), + (2, 2, 2, 2), + layer=0, + wire=0, + ) + with pytest.raises(ValueError, match="dense RZZ"): + spatial_slot_site(slot) + + +def test_spatial_cut_rejects_nonlocal_index(): + with pytest.raises(ValueError, match="nearest-neighbor"): + _cut_for_index(7, [(0, 2), (2, 2)]) + + +def test_spatial_cut_rejects_inconsistent_shapes(): + with pytest.raises(ValueError, match="cut shapes"): + _validate_cut_shapes(((2, 2, 3), (2, 3)), (2, 2, 3)) +``` + +- [x] **Step 8: Run planning tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_plan.py +``` + +Expected: all pass. + +- [x] **Step 9: Commit** + +```bash +git add src/vqetape/spatial_plan.py tests/test_spatial_plan.py +git commit -m "feat: plan carry-fused spatial VQE columns" +``` + +--- + +### Task 3: Column Binding and Sequential Exactness + +**Files:** +- Create: `src/vqetape/spatial_programs.py` +- Create: `tests/test_spatial_programs.py` + +**Interfaces:** +- Produces: `SpatialSiteParameters` +- Produces: `bind_spatial_column(...)` +- Produces: `execute_spatial_column(...)` +- Produces: `spatial_energy_unrolled(theta, program)` + +- [x] **Step 1: Write sequential energy equivalence tests** + +Create `tests/test_spatial_programs.py`: + +```python +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spatial_programs import spatial_energy_unrolled +from vqetape.spec import TFIMVQESpec +from vqetape.tn_vqe import build_tn_energy + + +@pytest.mark.parametrize("nqubits", [2, 3, 4, 5]) +@pytest.mark.parametrize("depth", [1, 2]) +@pytest.mark.parametrize("initial_state", ["zero", "plus"]) +def test_sequential_spatial_energy_matches_global_mpo( + nqubits, + depth, + initial_state, +): + spec = TFIMVQESpec( + nqubits=nqubits, + depth=depth, + coupling=0.7, + field=0.3, + initial_state=initial_state, + ) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + program = plan_spatial_transfer(spec, "greedy") + actual = spatial_energy_unrolled(theta, program) + reference, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + gate_representation="operator_schmidt", + hamiltonian_representation="mpo", + ) + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(reference(theta)), + rtol=1e-5, + atol=1e-5, + ) +``` + +- [x] **Step 2: Run the test and verify the runtime module is missing** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_programs.py +``` + +Expected: import failure for `vqetape.spatial_programs`. + +- [x] **Step 3: Implement site-local parameter extraction** + +Create: + +```python +from typing import NamedTuple + +import jax.numpy as jnp +from jax import Array + + +class SpatialSiteParameters(NamedTuple): + left_rzz: Array + right_rzz: Array + rx: Array + + +def _site_parameters( + theta: Array, + site: int, + spec: TFIMVQESpec, +) -> SpatialSiteParameters: + real_dtype = theta.dtype + zeros = jnp.zeros((spec.depth,), dtype=real_dtype) + return SpatialSiteParameters( + left_rzz=( + theta[:, 0, site - 1] if site > 0 else zeros + ), + right_rzz=( + theta[:, 0, site] + if site < spec.nqubits - 1 + else zeros + ), + rx=theta[:, 1, site], + ) +``` + +Validate `theta.shape == spec.parameter_shape`. + +- [x] **Step 4: Implement local tensor binding** + +For every `SpatialColumnSlot`: + +```python +if slot.kind == "initial_ket": + tensor = product_state +elif slot.kind == "initial_bra": + tensor = jnp.conj(product_state) +elif slot.kind in ("ket_rx", "bra_rx"): + tensor = rx_matrix(parameters.rx[slot.layer], dtype) + if slot.kind == "bra_rx": + tensor = jnp.conj(tensor) +elif slot.kind in ( + "ket_rzz_left", + "bra_rzz_left", +): + tensor, _ = rzz_schmidt_factors( + parameters.right_rzz[slot.layer], + dtype, + ) + if slot.kind == "bra_rzz_left": + tensor = jnp.conj(tensor) +elif slot.kind in ( + "ket_rzz_right", + "bra_rzz_right", +): + _, tensor = rzz_schmidt_factors( + parameters.left_rzz[slot.layer], + dtype, + ) + if slot.kind == "bra_rzz_right": + tensor = jnp.conj(tensor) +elif slot.kind.startswith("hamiltonian_mpo_"): + tensor = mpo_tensor_for_role +else: + raise ValueError(f"unsupported spatial slot kind: {slot.kind}") +``` + +Use the exact product-state helper convention from `tn_template.py` and +`tfim_mpo_tensors(spec)` for first, bulk, and last MPO tensors. Verify every +bound shape against `slot.shape`. + +Implement the product-state vector locally without importing a private +function: + +```python +def _product_state_vector(spec: TFIMVQESpec) -> Array: + dtype = ( + jnp.complex64 + if spec.dtype == "complex64" + else jnp.complex128 + ) + if spec.initial_state == "zero": + return jnp.asarray([1, 0], dtype=dtype) + amplitude = jnp.asarray(1 / jnp.sqrt(2), dtype=dtype) + return jnp.asarray([amplitude, amplitude], dtype=dtype) +``` + +- [x] **Step 5: Implement the explicit column executor** + +`execute_spatial_column` receives `carry=None` for first and a correctly +shaped carry for bulk/last: + +```python +operands = list(tensors) +if program.carry_is_input: + if carry is None: + raise ValueError("column requires a boundary carry") + if tuple(carry.shape) != program.left_boundary_shape: + raise ValueError("boundary carry shape does not match column") + operands.insert(0, carry) +elif carry is not None: + raise ValueError("first column does not accept a boundary carry") + +for step in program.steps: + selected = [operands.pop(position) for position in step.positions] + contracted = jnp.einsum(step.einsum, *selected, optimize=True) + operands.append(contracted) +``` + +Require one final operand with shape `right_boundary_shape`, or scalar shape +for last. + +- [x] **Step 6: Implement sequential first/bulk/last execution** + +`spatial_energy_unrolled`: + +```python +carry = execute_spatial_column( + program.first, + None, + bind_spatial_column( + program.first, + _site_parameters(theta, 0, program.spec), + program.spec, + ), +) +for site in range(1, program.spec.nqubits - 1): + assert program.bulk is not None + carry = execute_spatial_column( + program.bulk, + carry, + bind_spatial_column( + program.bulk, + _site_parameters(theta, site, program.spec), + program.spec, + ), + ) +energy = execute_spatial_column( + program.last, + carry, + bind_spatial_column( + program.last, + _site_parameters( + theta, + program.spec.nqubits - 1, + program.spec, + ), + program.spec, + ), +) +return jnp.real(energy) +``` + +- [x] **Step 7: Add complex128 and malformed-carry tests** + +Under `jax.enable_x64()`, compare one `n=3`, `depth=1` case at `rtol=1e-10`, +`atol=1e-10`. Verify missing and wrong-shape carries raise the exact messages +from Step 5. + +- [x] **Step 8: Run sequential runtime tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_programs.py +``` + +Expected: all pass. + +- [x] **Step 9: Commit** + +```bash +git add src/vqetape/spatial_programs.py tests/test_spatial_programs.py +git commit -m "feat: execute exact spatial VQE columns" +``` + +--- + +### Task 4: Rolled Spatial Scan and Full Gradient + +**Files:** +- Modify: `src/vqetape/spatial_programs.py` +- Modify: `tests/test_spatial_programs.py` + +**Interfaces:** +- Produces: `build_spatial_energy(spec, config)` +- Produces: `build_spatial_value_and_grad(spec, config)` + +- [x] **Step 1: Write energy and complete-gradient matrix tests** + +Add: + +```python +from vqetape.spatial_programs import build_spatial_energy +from vqetape.spec import SpatialProgramConfig + + +@pytest.mark.parametrize("nqubits", [2, 3, 5]) +@pytest.mark.parametrize("depth", [1, 2]) +@pytest.mark.parametrize("adjoint", ["default", "remat"]) +def test_spatial_scan_matches_statevector_full_gradient( + nqubits, + depth, + adjoint, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=depth) + theta = jnp.linspace( + -0.1, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + config = SpatialProgramConfig("greedy", adjoint, unroll=1) + energy = build_spatial_energy(spec, config) + actual_energy, actual_gradient = jax.value_and_grad(energy)(theta) + reference, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + hamiltonian_representation="mpo", + ) + expected_energy, expected_gradient = jax.value_and_grad(reference)(theta) + np.testing.assert_allclose(actual_energy, expected_energy, atol=1e-5) + np.testing.assert_allclose( + actual_gradient, + expected_gradient, + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(actual_gradient[:, 0, -1]), + np.zeros((depth,), dtype=np.float32), + ) +``` + +- [x] **Step 2: Implement packed bulk inputs** + +```python +def _bulk_parameters(theta: Array) -> Array: + return jnp.stack( + ( + theta[:, 0, 0:-2].T, + theta[:, 0, 1:-1].T, + theta[:, 1, 1:-1].T, + ), + axis=1, + ) +``` + +The result shape is `(nqubits - 2, 3, depth)`, with axis one ordered +`left_rzz, right_rzz, rx`. + +- [x] **Step 3: Implement one bulk transition** + +```python +def _bulk_transition( + carry: Array, + packed_site: Array, + *, + spec: TFIMVQESpec, + program: SpatialColumnProgram, +) -> Array: + parameters = SpatialSiteParameters( + left_rzz=packed_site[0], + right_rzz=packed_site[1], + rx=packed_site[2], + ) + tensors = bind_spatial_column(program, parameters, spec) + return execute_spatial_column(program, carry, tensors) +``` + +- [x] **Step 4: Build the rolled energy** + +Plan once when `build_spatial_energy` is called. In the returned energy: + +1. validate theta shape; +2. execute first; +3. for `nqubits > 2`, run: + +```python +body = lambda carry, packed: ( + _bulk_transition( + carry, + packed, + spec=spec, + program=transfer.bulk, + ), + None, +) +if config.adjoint == "remat": + body = jax.checkpoint(body) +carry, _ = jax.lax.scan( + body, + carry, + _bulk_parameters(theta), + unroll=min(config.unroll, spec.nqubits - 2), +) +``` + +4. execute last and return its real component. + +`build_spatial_value_and_grad` returns: + +```python +jax.jit(jax.value_and_grad(build_spatial_energy(spec, config))) +``` + +- [x] **Step 5: Verify rolled control flow** + +For `nqubits=6`, `depth=1`, lower a default-u1 value-and-gradient executable: + +```python +text = executable.lower(theta).as_text() +assert "while" in text.lower() +``` + +Also verify the energy and gradient still match when `unroll=2`. + +- [x] **Step 6: Run scan tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_programs.py +``` + +Expected: all pass. + +- [x] **Step 7: Commit** + +```bash +git add src/vqetape/spatial_programs.py tests/test_spatial_programs.py +git commit -m "feat: lower spatial VQE through rolled scan" +``` + +--- + +### Task 5: Segmented Bulk Custom Adjoint + +**Files:** +- Modify: `src/vqetape/spatial_programs.py` +- Modify: `tests/test_spatial_programs.py` +- Modify: `tests/test_tape.py` + +**Interfaces:** +- Produces: segmented behavior in `build_spatial_energy` +- Produces: `modeled_spatial_checkpoint_count(spec, config)` + +- [x] **Step 1: Write segmented correctness tests** + +Add: + +```python +@pytest.mark.parametrize( + ("nqubits", "segment_length"), + [(4, 1), (7, 2), (8, 3)], +) +def test_segmented_spatial_adjoint_matches_default( + nqubits, + segment_length, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + default = build_spatial_energy( + spec, + SpatialProgramConfig("greedy", "default"), + ) + segmented = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "segmented", + segment_length=segment_length, + ), + ) + default_value = jax.value_and_grad(default)(theta) + segmented_value = jax.value_and_grad(segmented)(theta) + np.testing.assert_allclose( + segmented_value[0], + default_value[0], + atol=1e-5, + ) + np.testing.assert_allclose( + segmented_value[1], + default_value[1], + rtol=1e-4, + atol=1e-5, + ) +``` + +Add a config/runtime test that segmented execution rejects `nqubits=2` +because no shape-preserving bulk recurrence exists. + +- [x] **Step 2: Implement fixed-size segment preparation** + +For `m = spec.nqubits - 2`: + +```python +segment_count = ceil(m / segment_length) +padded_count = segment_count * segment_length +padding = padded_count - m +packed = _bulk_parameters(theta) +if padding: + packed = jnp.pad(packed, ((0, padding), (0, 0), (0, 0))) +mask = jnp.arange(padded_count) < m +segments = packed.reshape( + segment_count, + segment_length, + 3, + spec.depth, +) +masks = mask.reshape(segment_count, segment_length) +``` + +- [x] **Step 3: Implement a masked segment transition** + +```python +def run_segment( + boundary: Array, + packed_segment: Array, + mask_segment: Array, +) -> Array: + def step(carry, inputs): + packed_site, valid = inputs + next_carry = _bulk_transition( + carry, + packed_site, + spec=spec, + program=transfer.bulk, + ) + return jnp.where(valid, next_carry, carry), None + + final, _ = jax.lax.scan( + step, + boundary, + (packed_segment, mask_segment), + unroll=min(config.unroll, segment_length), + ) + return final +``` + +- [x] **Step 4: Implement the custom VJP** + +Create a closure `segmented_bulk(initial_boundary, packed_bulk)` with +`@jax.custom_vjp`. + +The forward helper scans segments and emits every segment input boundary: + +```python +def segment_body(boundary, inputs): + packed_segment, mask_segment = inputs + next_boundary = run_segment( + boundary, + packed_segment, + mask_segment, + ) + return next_boundary, boundary + +final, checkpoints = jax.lax.scan( + segment_body, + initial_boundary, + (segments, masks), +) +``` + +Save `(segments, masks, checkpoints)` as the residual. + +The backward scan: + +```python +def reverse_segment(boundary_cotangent, inputs): + packed_segment, mask_segment, left_boundary = inputs + _, pullback = jax.vjp( + lambda boundary, values: run_segment( + boundary, + values, + mask_segment, + ), + left_boundary, + packed_segment, + ) + left_cotangent, packed_cotangent = pullback( + boundary_cotangent + ) + return left_cotangent, packed_cotangent + +left_cotangent, segment_cotangents = jax.lax.scan( + reverse_segment, + final_cotangent, + (segments, masks, checkpoints), + reverse=True, +) +packed_cotangent = segment_cotangents.reshape( + padded_count, + 3, + spec.depth, +)[:m] +return left_cotangent, packed_cotangent +``` + +The outer energy keeps first/last outside this custom VJP. Confirm the padded +gradient is discarded by slicing to `m`. + +- [x] **Step 5: Add the checkpoint storage model** + +```python +def modeled_spatial_checkpoint_count( + spec: TFIMVQESpec, + config: SpatialProgramConfig, +) -> int: + bulk_count = spec.nqubits - 2 + if config.adjoint == "segmented": + assert config.segment_length is not None + return ( + ceil(bulk_count / config.segment_length) + + config.segment_length + ) + return bulk_count +``` + +Test exact counts for `(n=8, s=2)` and `(n=8, s=3)`. + +- [x] **Step 6: Compare structured residual profiles** + +In `tests/test_tape.py`, profile default, remat, and segmented spatial energy +for `n=8`, `depth=1`. Require all profiles to be finite and nonempty. Require +segmented correctness independently; do not assert compiler peak from logical +residual bytes. + +- [x] **Step 7: Run segmented and tape tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_programs.py tests/test_tape.py +``` + +Expected: all pass. + +- [x] **Step 8: Commit** + +```bash +git add src/vqetape/spatial_programs.py tests/test_spatial_programs.py tests/test_tape.py +git commit -m "feat: add segmented spatial VQE adjoint" +``` + +--- + +### Task 6: Fresh-Worker Measurement and Static Metrics + +**Files:** +- Modify: `src/vqetape/benchmark.py` +- Modify: `src/vqetape/worker.py` +- Modify: `tests/test_benchmark.py` + +**Interfaces:** +- Produces: `benchmark_spatial_candidate(...)` +- Consumes: `SpatialProgramConfig`, spatial program builders +- Produces: spatial `CandidateResult.static_estimate` + +- [x] **Step 1: Write fresh-worker spatial metric tests** + +Add: + +```python +from vqetape.benchmark import benchmark_spatial_candidate +from vqetape.spec import SpatialProgramConfig + + +def test_spatial_candidate_runs_in_fresh_worker(): + spec = TFIMVQESpec(nqubits=4, depth=1) + result = benchmark_spatial_candidate( + spec=spec, + config=SpatialProgramConfig("greedy", "default"), + seed=0, + warm_repeats=1, + timeout_seconds=120, + ) + assert result.valid + assert result.worker_pid != result.parent_pid + assert result.static_estimate["boundary_dimension"] == 12 + assert result.static_estimate["boundary_bytes"] == 96 + assert result.static_estimate["bulk_columns"] == 2 + assert result.static_estimate["bulk_path_flops"] > 0 + assert result.static_estimate["estimated_energy_flops"] > 0 + assert result.static_estimate["modeled_checkpoint_boundaries"] == 2 + assert result.static_estimate["residual_profile"]["total_bytes"] > 0 +``` + +- [x] **Step 2: Verify the benchmark function is missing** + +Run: + +```bash +.venv/bin/pytest -q tests/test_benchmark.py +``` + +Expected: import failure. + +- [x] **Step 3: Add parent-side spatial worker orchestration** + +Add `benchmark_spatial_candidate` following the existing fresh-process +contract, with payload: + +```python +{ + "program_kind": "spatial_transfer", + "spec": spec.to_dict(), + "config": config.to_dict(), + "seed": seed, + "warm_repeats": warm_repeats, + "parent_pid": parent_pid, +} +``` + +Use a `vqetape-spatial-` temporary prefix and return an invalid +`CandidateResult` on timeout, missing result, malformed JSON, or inconsistent +exit status. Extend `_invalid_result` to accept: + +```python +ProgramConfig | TensorProgramConfig | SpatialProgramConfig +``` + +- [x] **Step 4: Add the worker branch** + +Parse: + +```python +elif program_kind == "spatial_transfer": + config = SpatialProgramConfig.from_dict(payload["config"]) +``` + +Build: + +```python +transfer = plan_spatial_transfer( + spec, + config.path_strategy, + explicit_paths=config.column_paths, +) +energy_function = build_spatial_energy(spec, config) +residual_profile = profile_saved_residuals(energy_function, theta) +executable = jax.jit(jax.value_and_grad(energy_function)) +bulk_flops = transfer.bulk.flops if transfer.bulk is not None else 0 +boundary_bytes = transfer.boundary_dimension * dtype_bytes(spec.dtype) +checkpoint_count = modeled_spatial_checkpoint_count(spec, config) +``` + +Report: + +```python +static_estimate = { + "representation": "spatial_transfer", + "path_strategy": config.path_strategy, + "adjoint": config.adjoint, + "unroll": config.unroll, + "segment_length": config.segment_length, + "boundary_rank": len(transfer.boundary_shape), + "boundary_shape": list(transfer.boundary_shape), + "boundary_dimension": transfer.boundary_dimension, + "boundary_bytes": boundary_bytes, + "bulk_columns": max(0, spec.nqubits - 2), + "first_path_flops": transfer.first.flops, + "bulk_path_flops": bulk_flops, + "last_path_flops": transfer.last.flops, + "estimated_energy_flops": ( + transfer.first.flops + + max(0, spec.nqubits - 2) * bulk_flops + + transfer.last.flops + ), + "modeled_checkpoint_boundaries": checkpoint_count, + "modeled_checkpoint_bytes": checkpoint_count * boundary_bytes, + "residual_profile": residual_profile.to_dict(), +} +``` + +Extend worker exception recovery and `CandidateResult` parsing for the new +representation. + +- [x] **Step 5: Run benchmark tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_benchmark.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/benchmark.py src/vqetape/worker.py tests/test_benchmark.py +git commit -m "feat: measure spatial VQE programs in fresh workers" +``` + +--- + +### Task 7: Joint Spatial and Global-MPO Search + +**Files:** +- Create: `src/vqetape/spatial_candidates.py` +- Create: `tests/test_spatial_candidates.py` +- Modify: `src/vqetape/cli.py` +- Modify: `tests/test_compiler_cli.py` + +**Interfaces:** +- Produces: `enumerate_spatial_candidates(request)` +- Produces: `search_spatial_candidates(request)` +- Produces: CLI mode `spatial-transfer` + +- [x] **Step 1: Write candidate enumeration tests** + +Create: + +```python +from vqetape.spatial_candidates import enumerate_spatial_candidates + + +def test_spatial_candidates_cover_path_and_adjoint_axes(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=8, depth=1), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, + warm_repeats=1, + ) + candidates = enumerate_spatial_candidates(request) + assert {item.path_strategy for item in candidates} == { + "greedy", + "random-greedy", + "auto-hq", + } + assert {item.adjoint for item in candidates} == { + "default", + "remat", + "segmented", + } + assert { + item.unroll + for item in candidates + if item.adjoint in ("default", "remat") + } == {1, 2} + assert { + item.segment_length + for item in candidates + if item.adjoint == "segmented" + } == {2} + assert len(candidates) == 15 +``` + +Since `round(sqrt(6)) == 2`, the segmented candidate uses length two. + +- [x] **Step 2: Implement deterministic enumeration** + +For each path strategy emit: + +```python +transfer = plan_spatial_transfer(request.spec, strategy) +column_paths = ( + (transfer.first.path, transfer.last.path) + if transfer.bulk is None + else ( + transfer.first.path, + transfer.bulk.path, + transfer.last.path, + ) +) +SpatialProgramConfig( + strategy, "default", unroll=1, column_paths=column_paths +) +SpatialProgramConfig( + strategy, "default", unroll=2, column_paths=column_paths +) +SpatialProgramConfig( + strategy, "remat", unroll=1, column_paths=column_paths +) +SpatialProgramConfig( + strategy, "remat", unroll=2, column_paths=column_paths +) +SpatialProgramConfig( + strategy, + "segmented", + unroll=1, + segment_length=max(1, round(sqrt(spec.nqubits - 2))), + column_paths=column_paths, +) +``` + +Clamp unroll to the bulk count, deduplicate with a set, and sort by label. For +two qubits emit one default-u1 candidate per path and no segmented candidate. +Assert that all configs for one strategy contain exactly one common path +tuple and produce identical first/bulk/last FLOP counts. + +- [x] **Step 3: Implement joint validation and controls** + +Create `SpatialSearchResult` with: + +```python +request: CompileRequest +selected: CandidateResult +pareto: tuple[CandidateResult, ...] +candidates: tuple[CandidateResult, ...] +reference: CandidateResult +``` + +Measure one state-vector reference. Measure three global controls using: + +```python +TensorProgramConfig( + path_strategy=strategy, + remat_policy="none", + gate_representation="dense", + hamiltonian_representation="mpo", +) +``` + +Plan and serialize each global control path before benchmarking. Measure all +spatial configs. Validate every energy and gradient against the state-vector +reference with `CorrectnessTolerance.for_dtype`. Run Pareto selection and +horizon selection over the union of global controls and spatial candidates. + +`to_report()` includes the reference separately and notes: + +- global vs spatial representation; +- logical residuals are not liveness-aware peak; +- modeled checkpoint bytes are not measured device peak; +- process RSS is not GPU peak. + +- [x] **Step 4: Add the CLI mode** + +Extend: + +```python +choices=("statevector", "direct-tn", "spatial-transfer") +``` + +Dispatch `spatial-transfer` to `search_spatial_candidates`. + +- [x] **Step 5: Add an end-to-end CLI test** + +Run `vqetape --mode spatial-transfer` with `nqubits=3`, `depth=1`, +`warm-repeats=1`, and a temporary output file. Assert: + +```python +payload["selected"]["config"]["representation"] in { + "direct_tn", + "spatial_transfer", +} +assert payload["reference"]["valid"] +assert all(item["valid"] for item in payload["candidates"]) +``` + +- [x] **Step 6: Run candidate and CLI tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_candidates.py tests/test_compiler_cli.py +``` + +Expected: all pass. + +- [x] **Step 7: Commit** + +```bash +git add src/vqetape/spatial_candidates.py tests/test_spatial_candidates.py src/vqetape/cli.py tests/test_compiler_cli.py +git commit -m "feat: search spatial and global MPO VQE programs" +``` + +--- + +### Task 8: Control-Flow and Scaling Evidence + +**Files:** +- Modify: `tests/test_spatial_programs.py` +- Create: `outputs/vqetape-spatial-transfer-findings.md` + +**Interfaces:** +- Consumes: complete spatial implementation +- Produces: compiler-control-flow evidence and experiment checklist + +- [x] **Step 1: Add StableHLO size comparison** + +For fixed `depth=1`, lower default-u1 value-and-gradient programs for +`nqubits=6` and `nqubits=10`: + +```python +texts = {} +for nqubits in (6, 10): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig("greedy", "default", unroll=1), + ) + texts[nqubits] = executable.lower(theta).as_text() + assert "while" in texts[nqubits].lower() +assert len(texts[10]) < 2 * len(texts[6]) +``` + +This gate demonstrates rolled structure without claiming invariant total IR +size. + +- [x] **Step 2: Add a no-transfer-matrix structural assertion** + +For `depth=2`, require: + +```python +program = plan_spatial_transfer( + TFIMVQESpec(nqubits=5, depth=2), + "greedy", +) +assert program.boundary_dimension == 48 +assert program.bulk is not None +assert program.bulk.output_elements == 48 +assert program.bulk.output_elements != 48**2 +``` + +Also require: + +```python +assert max( + step.output_elements for step in program.bulk.steps +) < 48**2 +``` + +This proves that the tested path does not emit a \(D^2\) intermediate as well +as not returning one. + +- [x] **Step 3: Run control-flow tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spatial_plan.py tests/test_spatial_programs.py +``` + +Expected: all pass. + +- [x] **Step 4: Create the findings skeleton** + +Create sections: + +```markdown +# VQETape Exact Spatial-Transfer Findings + +## Experimental contract +## Correctness and structural invariants +## Global MPO versus spatial-transfer results +## Default, remat, and segmented adjoints +## Fixed-depth scaling +## Decision-gate audit +## Interpretation and limitations +``` + +Record the test commands and structural facts already established. Leave +numeric benchmark tables out until Task 9 produces the reports. + +- [x] **Step 5: Commit** + +```bash +git add tests/test_spatial_programs.py tests/test_spatial_plan.py outputs/vqetape-spatial-transfer-findings.md +git commit -m "test: validate rolled spatial VQE structure" +``` + +--- + +### Task 9: Reproducible Spatial Benchmarks and Documentation + +**Files:** +- Create: `outputs/vqetape-spatial-transfer-report-n8-d2.json` +- Create: `outputs/vqetape-spatial-transfer-report-n12-d2.json` +- Modify: `outputs/vqetape-spatial-transfer-findings.md` +- Modify: `README.md` + +**Interfaces:** +- Consumes: complete joint search and fresh-worker metrics +- Produces: two fixed-depth scaling reports and decision-gate result + +- [x] **Step 1: Run the primary benchmark** + +```bash +.venv/bin/vqetape \ + --mode spatial-transfer \ + --nqubits 8 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 3 \ + --timeout-seconds 600 \ + --output outputs/vqetape-spatial-transfer-report-n8-d2.json +``` + +- [x] **Step 2: Run the fixed-depth holdout** + +```bash +.venv/bin/vqetape \ + --mode spatial-transfer \ + --nqubits 12 \ + --depth 2 \ + --coupling 0.7 \ + --field 0.3 \ + --initial-state zero \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 3 \ + --timeout-seconds 600 \ + --output outputs/vqetape-spatial-transfer-report-n12-d2.json +``` + +- [x] **Step 3: Audit report invariants** + +For both JSON reports verify: + +```text +reference valid +all successful candidates have finite energy and gradient +maximum errors satisfy dtype tolerance +every spatial boundary dimension is 48 +every spatial boundary shape contains four dimensions of 2 and one of 3 +every spatial candidate contains a residual profile +global controls use direct_tn+dense+mpo +spatial candidates use spatial_transfer +selected candidate belongs to the reported Pareto frontier +``` + +Compute: + +- best global and best spatial compile time; +- best global and best spatial warm median; +- compiler temporary bytes; +- process RSS; +- logical residual bytes; +- modeled checkpoint bytes; +- whether segmented is nondominated within a fixed path; +- representation selected for a 100-step horizon; +- fixed-depth changes from \(n=8\) to \(n=12\). + +- [x] **Step 4: Complete the findings** + +Populate exact numeric tables and audit every design decision gate. If +segmented checkpointing fails to reduce a measured/compiler memory metric, +state that negative result and retain default/remat as eligible defaults. If +spatial loses at \(n=8\) but improves scaling at \(n=12\), report the +crossover evidence without claiming universal superiority. + +- [x] **Step 5: Update README** + +Document: + +- the `spatial-transfer` CLI mode; +- the exact \(D=3\cdot4^L\) boundary; +- carry-fused column contractions; +- default/remat/segmented spatial adjoints; +- the distinction between modeled checkpoint bytes and measured memory; +- links to the findings and two reports. + +- [x] **Step 6: Run the full suite** + +```bash +.venv/bin/pytest -q +``` + +Expected: all pass. + +- [x] **Step 7: Commit** + +```bash +git add README.md outputs/vqetape-spatial-transfer-report-n8-d2.json outputs/vqetape-spatial-transfer-report-n12-d2.json outputs/vqetape-spatial-transfer-findings.md +git commit -m "test: report spatial-transfer VQETape evidence" +``` + +--- + +### Task 10: Completion Audit + +**Files:** +- Modify: `docs/superpowers/plans/2026-07-29-vqetape-spatial-transfer.md` +- Modify: `outputs/vqetape-spatial-transfer-findings.md` + +**Interfaces:** +- Consumes: design, source, tests, reports, and git state +- Produces: checked implementation plan and exact completion evidence + +- [x] **Step 1: Match requirements to authoritative evidence** + +```text +configuration -> config validation and JSON round-trip tests +spatial ownership -> slot-site and nearest-neighbor cut tests +boundary dimension -> L=1,2,3 exact structural tests +carry fusion -> bulk output D, not D^2, and step audit +column algebra -> sequential spatial/global-MPO comparisons +rolled scan -> StableHLO while and IR-size comparison +full gradient -> statevector/global-MPO matrix tests +segmented custom VJP -> nondivisible-segment gradient tests +fresh measurements -> isolated-worker PID and static metric tests +joint selection -> global controls plus spatial candidate tests +fixed-depth evidence -> n=8 and n=12 reports +decision gates -> findings audit +``` + +- [x] **Step 2: Run final regression** + +```bash +.venv/bin/pytest -q +``` + +Record the exact count and elapsed time in the findings. + +- [x] **Step 3: Verify repository state** + +```bash +git status --short +git diff --check +``` + +Expected: only the plan and findings completion edits are present. + +- [x] **Step 4: Mark completed checkboxes and commit** + +```bash +git add docs/superpowers/plans/2026-07-29-vqetape-spatial-transfer.md outputs/vqetape-spatial-transfer-findings.md +git commit -m "docs: complete spatial-transfer VQETape phase" +``` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-symmetry-compression.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-symmetry-compression.md new file mode 100644 index 000000000..4afbfbc1d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-symmetry-compression.md @@ -0,0 +1,202 @@ +# VQETape Exact Symmetry Compression Implementation Plan + +**Goal:** Prove and exploit the exact global-\(X\) \(\mathbb Z_2\) +symmetry of the TFIM RZZ–RX VQE family so forbidden spatial-boundary +sectors are removed from the recurrent state without changing energy or +complete gradients. + +**Architecture:** A pure charge-analysis module assigns \(\mathbb Z_2\) +charges to every ket/bras RZZ Schmidt leg and to the three TFIM MPO +channels. It serializes the active flattened boundary positions satisfying +the total-charge rule. A dense expand/contract/gather reference proves the +compression. The rolled runtime then stores only the compressed carry and +uses a charge-native transition when supported; an explicitly labelled +expand/gather fallback remains the correctness oracle. Unsupported initial +states or tensor families return a structured inapplicability reason. + +**Constraints:** + +- Compression is exact; there is no singular-value or amplitude truncation. +- The positive global-\(X\) sector is valid only for the `plus` initial + state and the supported TFIM/RZZ–RX tensor family. +- Every supposedly forbidden component must be numerically zero on audited + small workloads. +- The compressed recurrent carry contains exactly the active positions. +- The fallback may reconstruct a dense carry but must never be reported as a + charge-native memory result. +- Promotion requires exact energy/full-gradient agreement and measured + compile/warm/compiler-memory evidence. + +--- + +## Task 1: Define and test the boundary charge rule + +**Files:** +- Create: `src/vqetape/symmetry.py` +- Create: `tests/test_symmetry.py` + +Implement immutable `Z2BoundarySector` metadata containing the dense shape, +active flattened positions, forbidden positions, active count, dense count, +compression ratio, and a serialization method. + +For a boundary ordered as \(L\) ket Schmidt legs, \(L\) bra Schmidt legs, +and one MPO leg, assign: + +\[ +q_{\mathrm{RZZ}}(0)=0,\quad q_{\mathrm{RZZ}}(1)=1, +\qquad q_{\mathrm{MPO}}=(0,1,0). +\] + +An entry is active iff: + +\[ +\bigoplus_{\ell=1}^{L} a_\ell +\bigoplus_{\ell=1}^{L} b_\ell +q_{\mathrm{MPO}}(h)=0\pmod 2. +\] + +Tests must prove: + +- shape `(2, 2, 3)` has six active and six forbidden entries; +- depth two has 24 active of 48 entries; +- active and forbidden positions are disjoint and exhaustive; +- all positions are deterministic and sorted; +- a nonconforming boundary shape is rejected. + +Commit: `feat: derive exact Z2 boundary sectors` + +--- + +## Task 2: Prove forbidden-sector invariance + +**Files:** +- Modify: `src/vqetape/symmetry.py` +- Modify: `tests/test_symmetry.py` + +Add `compress_boundary`, `expand_boundary`, and +`forbidden_boundary_norm`. For depth one and two: + +1. plan first/bulk/last spatial programs; +2. execute the dense first boundary at deterministic parameters; +3. assert the forbidden norm is below dtype tolerance; +4. apply each dense bulk transition and repeat the assertion; +5. prove `expand(compress(boundary)) == boundary`; +6. compare final energies after round trips. + +Add an explicit applicability function returning `(bool, reason)`. It must +accept `initial_state="plus"` and reject `initial_state="zero"` with a +specific reason. + +Commit: `test: prove Z2 spatial sector invariance` + +--- + +## Task 3: Add a serialized symmetry execution mode + +**Files:** +- Modify: `src/vqetape/spec.py` +- Modify: `tests/test_spec.py` + +Add: + +```python +SpatialSymmetry = Literal["none", "z2-reference", "z2-native"] +``` + +and a `symmetry` field to `SpatialProgramConfig`, defaulting to `"none"` for +old reports. Labels and round trips must distinguish all three modes. +Validation rejects unknown modes. Planning or runtime rejects Z2 modes when +the applicability check fails. + +Commit: `feat: configure exact spatial symmetry modes` + +--- + +## Task 4: Execute an exact compressed recurrent carry + +**Files:** +- Modify: `src/vqetape/spatial_programs.py` +- Modify: `tests/test_spatial_programs.py` +- Modify: `tests/test_tape.py` + +Implement the `z2-reference` runtime: + +- first dense output is compressed immediately; +- the scan carry has shape `(active_count,)`; +- every transition expands the carry, executes the verified dense role, and + compresses the output; +- tail follows the same rule; +- last expands once before scalar contraction. + +Compare value and complete gradient with the uncompressed program for +depths one and two, block widths one through four, and both complex dtypes. +Lowered IR must show the compressed scan carry. Residual profiling must +report a smaller recurrent carry category or, if compiler categorization +cannot isolate it, the test records both profiles without claiming a win. + +Commit: `feat: run exact Z2-compressed spatial carries` + +--- + +## Task 5: Lower charge-native transitions + +**Files:** +- Create: `src/vqetape/symmetry_programs.py` +- Create: `tests/test_symmetry_programs.py` +- Modify: `src/vqetape/spatial_programs.py` + +Build a charge-block contraction executor from the serialized local network: + +1. propagate charges through every tensor index; +2. split tensors into nonzero charge-compatible blocks; +3. contract only compatible block pairs following the same serialized tree; +4. retain the compressed boundary key as a sector/block coordinate; +5. contract a sparse one-hot output selector so the role directly emits + canonical compressed data. + +The executor must not reconstruct the dense recurrent carry with +scatter/`todense`, and it must directly emit the active output vector. +Ordinary dense local intermediates are allowed because their shapes follow +the contraction path rather than carry storage. Add a JAXPR audit requiring +BCOO contractions and rejecting carry scatter/`bcoo_todense`. Compare every +role output and VJP with `z2-reference`. + +If the planner encounters an unsupported charge pattern, it raises a +structured error and the candidate is skipped; it never silently falls back +while retaining the `z2-native` label. + +Commit: `feat: lower charge-native spatial contractions` + +--- + +## Task 6: Search, benchmark, and report symmetry candidates + +**Files:** +- Modify: `src/vqetape/spatial_candidates.py` +- Modify: `src/vqetape/worker.py` +- Modify: `tests/test_spatial_candidates.py` +- Modify: `tests/test_benchmark.py` +- Create: + - `outputs/vqetape-symmetry-report-n8-d2.json` + - `outputs/vqetape-symmetry-report-n12-d2.json` + - `outputs/vqetape-symmetry-findings.md` +- Modify: `README.md` + +Enumerate paired `none`, `z2-reference`, and `z2-native` candidates only for +applicable TFIM workloads, using identical paths, block widths, unrolls, and +adjoint policies. Fresh workers report sector metadata, compressed bytes, +dense bytes, fallback/native mode, correctness, compile, warm, logical tape, +and compiler memory. + +Promotion gate: + +- all paired energy/gradient checks pass; +- `z2-native` removes exactly half of the boundary entries; +- it is nondominated on compile, warm, and compiler temporary memory for at + least one holdout candidate; +- `z2-reference` is never presented as a native workspace-memory win. + +Run both audited workloads, validate JSON, run the full test suite, and +document negative as well as positive results. + +Commit: `docs: report exact symmetry-compressed VQETape results` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-tfim-mpo.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-tfim-mpo.md new file mode 100644 index 000000000..39a8aabe9 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-tfim-mpo.md @@ -0,0 +1,951 @@ +# VQETape Exact TFIM MPO Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use completed Markdown checkboxes for tracking. + +**Goal:** Add an exact bond-dimension-3 TFIM MPO and jointly compare Pauli-sum and one-shot bra–MPO–ket VQE value-and-full-gradient programs. + +**Architecture:** A new `tfim_mpo` module constructs exact first, bulk, and last MPO tensors. A representation-aware template and binder feed the existing explicit contraction-path, residual-profile, named-tape, fresh-worker, and Pareto pipeline without imposing spatial-transfer control flow. + +**Tech Stack:** Python 3.12, JAX 0.11, NumPy 2.x, opt_einsum 3.4, pytest 9 + +## Global Constraints + +- The Hamiltonian convention is exactly `-J sum(ZZ) - g sum(X)` with open boundaries. +- The MPO internal bond dimension is exactly 3. +- Every candidate computes exact energy and the complete padded gradient. +- Pauli-sum and MPO candidates use identical VQE semantics, seeds, path strategies, tape-budget rules, and fresh-process measurement. +- Tape policies within one Hamiltonian-representation/path pair reuse one serialized explicit path. +- Logical residual bytes, compiler temporary bytes, process RSS, and device peak memory remain distinct metrics. +- The default MPO experiment fixes `gate_representation="dense"`. +- No spatial-transfer scan, custom carry adjoint, general Pauli-to-MPO compression, slicing, mixed precision, truncation, ansatz search, or classical optimizer is added in this phase. +- Existing APIs remain backward-compatible by defaulting to `hamiltonian_representation="pauli_sum"`. + +--- + +### Task 1: Hamiltonian Representation Configuration + +**Files:** +- Modify: `src/vqetape/spec.py` +- Modify: `tests/test_spec.py` + +**Interfaces:** +- Produces: `HamiltonianRepresentation = Literal["pauli_sum", "mpo"]` +- Produces: `TensorProgramConfig.hamiltonian_representation` + +- [x] **Step 1: Write failing round-trip and validation tests** + +```python +def test_tensor_program_hamiltonian_representation_round_trip(): + config = TensorProgramConfig( + "greedy", + "none", + hamiltonian_representation="mpo", + ) + assert TensorProgramConfig.from_dict(config.to_dict()) == config + assert "-mpo-" in config.label + + +def test_tensor_program_rejects_unknown_hamiltonian_representation(): + with pytest.raises(ValueError, match="hamiltonian_representation"): + TensorProgramConfig( + "greedy", + "none", + hamiltonian_representation="dense_matrix", + ) +``` + +- [x] **Step 2: Run tests and verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spec.py +``` + +Expected: unexpected keyword argument. + +- [x] **Step 3: Add the type and field** + +```python +HamiltonianRepresentation = Literal["pauli_sum", "mpo"] + + +@dataclass(frozen=True) +class TensorProgramConfig: + path_strategy: Literal["greedy", "random-greedy", "auto-hq"] + remat_policy: Literal[ + "none", + "all", + "output-ge-threshold", + "term", + "objective", + "subtree", + "named", + ] + threshold_bytes: int | None = None + path: tuple[tuple[int, ...], ...] | None = None + subtree_depth: int | None = None + save_names: tuple[str, ...] | None = None + gate_representation: GateRepresentation = "dense" + hamiltonian_representation: HamiltonianRepresentation = "pauli_sum" + representation: Literal["direct_tn"] = "direct_tn" +``` + +Validate membership in `("pauli_sum", "mpo")`. Include the normalized label +(`pauli-sum` or `mpo`) between the gate representation and path strategy. + +- [x] **Step 4: Run configuration tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_spec.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/spec.py tests/test_spec.py +git commit -m "feat: configure VQE Hamiltonian representations" +``` + +--- + +### Task 2: Exact TFIM MPO Algebra + +**Files:** +- Create: `src/vqetape/tfim_mpo.py` +- Create: `tests/test_tfim_mpo.py` + +**Interfaces:** +- Produces: `tfim_mpo_tensors(spec: TFIMVQESpec) -> tuple[Array, ...]` +- Produces: `dense_tfim_hamiltonian(spec: TFIMVQESpec) -> Array` + +- [x] **Step 1: Write MPO shape and dense reconstruction tests** + +```python +@pytest.mark.parametrize("nqubits", [2, 3, 4]) +@pytest.mark.parametrize( + ("coupling", "field"), + [(1.0, 1.0), (0.7, 1.3), (0.0, 0.8), (1.1, 0.0)], +) +def test_tfim_mpo_reconstructs_dense_hamiltonian( + nqubits, + coupling, + field, +): + spec = TFIMVQESpec( + nqubits=nqubits, + depth=1, + coupling=coupling, + field=field, + ) + tensors = tfim_mpo_tensors(spec) + actual = contract_mpo_to_dense(tensors) + expected = dense_tfim_hamiltonian(spec) + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(expected), + rtol=1e-6, + atol=1e-6, + ) + assert len(tensors) == nqubits + assert tensors[0].shape == (3, 2, 2) + assert tensors[-1].shape == (3, 2, 2) + assert all(tensor.shape == (3, 3, 2, 2) for tensor in tensors[1:-1]) +``` + +In the test file, implement `contract_mpo_to_dense` with an opt_einsum +equation generated from one internal symbol per MPO bond and two output +symbols per site. + +- [x] **Step 2: Verify the module is missing** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tfim_mpo.py +``` + +Expected: import failure for `vqetape.tfim_mpo`. + +- [x] **Step 3: Implement MPO tensors** + +```python +def tfim_mpo_tensors(spec: TFIMVQESpec) -> tuple[Array, ...]: + dtype = jnp.complex64 if spec.dtype == "complex64" else jnp.complex128 + identity = jnp.eye(2, dtype=dtype) + pauli_x = jnp.asarray([[0, 1], [1, 0]], dtype=dtype) + pauli_z = jnp.asarray([[1, 0], [0, -1]], dtype=dtype) + first = jnp.stack( + (-spec.field * pauli_x, -spec.coupling * pauli_z, identity), + axis=0, + ) + bulk = jnp.zeros((3, 3, 2, 2), dtype=dtype) + bulk = bulk.at[0, 0].set(identity) + bulk = bulk.at[1, 0].set(pauli_z) + bulk = bulk.at[2, 0].set(-spec.field * pauli_x) + bulk = bulk.at[2, 1].set(-spec.coupling * pauli_z) + bulk = bulk.at[2, 2].set(identity) + last = jnp.stack( + (identity, pauli_z, -spec.field * pauli_x), + axis=0, + ) + return (first,) + (bulk,) * (spec.nqubits - 2) + (last,) +``` + +Implement the dense oracle by summing explicit Kronecker products of Pauli +matrices with the same signs and coefficients. + +- [x] **Step 4: Add local `complex128` reconstruction** + +```python +def test_tfim_mpo_complex128(): + with jax.enable_x64(): + spec = TFIMVQESpec( + nqubits=3, + depth=1, + coupling=0.7, + field=1.3, + dtype="complex128", + ) + np.testing.assert_allclose( + contract_mpo_to_dense(tfim_mpo_tensors(spec)), + dense_tfim_hamiltonian(spec), + rtol=1e-12, + atol=1e-12, + ) +``` + +- [x] **Step 5: Run algebra tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tfim_mpo.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/tfim_mpo.py tests/test_tfim_mpo.py +git commit -m "feat: construct exact TFIM MPO tensors" +``` + +--- + +### Task 3: MPO Expectation Template + +**Files:** +- Modify: `src/vqetape/tn_template.py` +- Modify: `tests/test_tn_template.py` + +**Interfaces:** +- Consumes: `HamiltonianRepresentation` +- Produces: `TensorNetworkTemplate.hamiltonian_representation` +- Produces: `build_mpo_expectation_template(...)` + +- [x] **Step 1: Write topology tests** + +```python +def test_mpo_expectation_template_is_closed(): + spec = TFIMVQESpec(nqubits=4, depth=2) + template = build_mpo_expectation_template(spec) + assert template.hamiltonian_representation == "mpo" + mpo_slots = [ + slot for slot in template.slots + if slot.kind.startswith("hamiltonian_mpo_") + ] + assert [slot.kind for slot in mpo_slots] == [ + "hamiltonian_mpo_first", + "hamiltonian_mpo_bulk", + "hamiltonian_mpo_bulk", + "hamiltonian_mpo_last", + ] + assert [slot.shape for slot in mpo_slots] == [ + (3, 2, 2), + (3, 3, 2, 2), + (3, 3, 2, 2), + (3, 2, 2), + ] + counts = Counter( + index for slot in template.slots for index in slot.indices + ) + assert set(counts.values()) == {2} +``` + +Update the dense-template default test to assert +`hamiltonian_representation == "pauli_sum"`. + +- [x] **Step 2: Run tests and verify failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py -k mpo +``` + +Expected: import or attribute failure. + +- [x] **Step 3: Refactor shared circuit construction** + +Introduce: + +```python +def _build_circuit_slots( + spec: TFIMVQESpec, + gate_representation: GateRepresentation, +) -> tuple[_IndexAllocator, list[TensorSlot], list[int], list[int]]: +``` + +It creates initial ket/bra slots, appends both circuit copies, and returns the +final ket and bra frontiers. Reuse it from both expectation-template builders. + +- [x] **Step 4: Build MPO operator slots** + +Allocate `nqubits - 1` MPO bond indices. Attach: + +```python +TensorSlot( + "hamiltonian_mpo_first", + (mpo_bonds[0], bra_frontier[0], ket_frontier[0]), + (3, 2, 2), + wire=0, +) +``` + +bulk slots with indices +`(mpo_bonds[wire - 1], mpo_bonds[wire], bra, ket)`, and the final slot with +`(mpo_bonds[-1], bra, ket)`. + +- [x] **Step 5: Run template tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/tn_template.py tests/test_tn_template.py +git commit -m "feat: build closed bra-MPO-ket templates" +``` + +--- + +### Task 4: Bind MPO Circuit Networks + +**Files:** +- Modify: `src/vqetape/tn_template.py` +- Modify: `tests/test_tn_template.py` + +**Interfaces:** +- Consumes: MPO-aware `TensorNetworkTemplate`, `theta` +- Produces: `bind_mpo_tensors(template, theta) -> tuple[Array, ...]` + +- [x] **Step 1: Write binding and scalar equivalence tests** + +```python +def test_bound_mpo_tensors_match_template_shapes(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_mpo_expectation_template(spec) + theta = jnp.zeros(spec.parameter_shape) + tensors = bind_mpo_tensors(template, theta) + assert tuple(tensor.shape for tensor in tensors) == template.shapes + + +def test_mpo_and_pauli_sum_scalar_contractions_match(): + spec = TFIMVQESpec(nqubits=3, depth=2, coupling=0.7, field=1.3) + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape)).reshape( + spec.parameter_shape + ) + mpo_template = build_mpo_expectation_template(spec) + mpo_value = oe.contract( + mpo_template.equation, + *bind_mpo_tensors(mpo_template, theta), + optimize="greedy", + backend="jax", + ) + term_template = build_expectation_template(spec) + term_value = sum( + term.coefficient * oe.contract( + term_template.equation, + *bind_term_tensors(term_template, theta, term), + optimize="greedy", + backend="jax", + ) + for term in tfim_product_terms(spec) + ) + np.testing.assert_allclose(mpo_value, term_value, atol=1e-5) +``` + +- [x] **Step 2: Verify the binder is missing** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py -k bound_mpo +``` + +Expected: import failure. + +- [x] **Step 3: Extract common circuit-slot binding** + +Implement: + +```python +def _bind_non_hamiltonian_slot( + template: TensorNetworkTemplate, + slot: TensorSlot, + theta: Array, +) -> Array: +``` + +Move initial-state, RX, dense RZZ, and Schmidt-factor binding into this helper. +Keep operator binding in the public Pauli and MPO binders. + +- [x] **Step 4: Bind MPO slots** + +Call `tfim_mpo_tensors(template.spec)` once. For an MPO slot, select the tensor +at `slot.wire`. Apply existing residual naming after binding every slot. + +- [x] **Step 5: Run binding tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_template.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/tn_template.py tests/test_tn_template.py +git commit -m "feat: bind exact MPO VQE networks" +``` + +--- + +### Task 5: One-Shot MPO Energy and Full Gradient + +**Files:** +- Modify: `src/vqetape/tn_vqe.py` +- Modify: `tests/test_tn_vqe.py` + +**Interfaces:** +- Consumes: `hamiltonian_representation: HamiltonianRepresentation` +- Produces: representation-aware `build_tn_energy` and + `build_tn_value_and_grad` + +- [x] **Step 1: Write value-and-gradient oracle tests** + +```python +@pytest.mark.parametrize( + "hamiltonian_representation", + ["pauli_sum", "mpo"], +) +@pytest.mark.parametrize("policy", ["none", "named"]) +def test_hamiltonian_representations_match_statevector_full_gradient( + hamiltonian_representation, + policy, +): + spec = TFIMVQESpec( + nqubits=3, + depth=2, + coupling=0.7, + field=1.3, + ) + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape)).reshape( + spec.parameter_shape + ) + reference = build_value_and_grad( + spec, + ProgramConfig("unrolled", "default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy=policy, + save_names=() if policy == "named" else None, + hamiltonian_representation=hamiltonian_representation, + ) + expected_energy, expected_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose(energy, expected_energy, atol=1e-5) + np.testing.assert_allclose( + gradient, + expected_gradient, + rtol=1e-4, + atol=1e-5, + ) +``` + +- [x] **Step 2: Verify unexpected keyword failure** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_vqe.py -k hamiltonian_representations +``` + +Expected: unexpected keyword argument. + +- [x] **Step 3: Add the representation branch** + +For `pauli_sum`, retain the existing loop. For `mpo`, build one MPO template, +plan one contraction, bind once, contract once, and return the real scalar: + +```python +def raw_energy(theta: Array) -> Array: + tensors = bind_mpo_tensors( + template, + theta, + name_residuals=name_residuals, + ) + expectation = execute_contraction( + program, + tensors, + remat_steps=remat_steps, + name_residuals=name_residuals, + ) + return jnp.real(expectation) +``` + +Apply `term`, `objective`, `subtree`, and named policies with the same +validation semantics as Pauli sum. + +- [x] **Step 4: Verify padding gradient and multiple workloads** + +Parameterize the existing workload matrix over both Hamiltonian +representations and retain exact zero checks for `gradient[:, 0, -1]`. + +- [x] **Step 5: Run VQE tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_vqe.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/tn_vqe.py tests/test_tn_vqe.py +git commit -m "feat: differentiate one-shot TFIM MPO contractions" +``` + +--- + +### Task 6: Energy-Level Cost Metrics + +**Files:** +- Modify: `src/vqetape/worker.py` +- Modify: `tests/test_tn_candidates.py` + +**Interfaces:** +- Consumes: path program and Hamiltonian representation +- Produces: fair energy-level static metrics + +- [x] **Step 1: Write fresh-worker metric tests** + +```python +@pytest.mark.parametrize( + ("hamiltonian_representation", "expected_contractions"), + [("pauli_sum", 5), ("mpo", 1)], +) +def test_worker_reports_energy_level_costs( + hamiltonian_representation, + expected_contractions, +): + spec = TFIMVQESpec(nqubits=3, depth=1) + result = benchmark_tn_candidate( + spec=spec, + config=TensorProgramConfig( + "greedy", + "none", + hamiltonian_representation=hamiltonian_representation, + ), + seed=1, + warm_repeats=1, + timeout_seconds=180, + ) + estimate = result.static_estimate + assert estimate["contractions_per_energy"] == expected_contractions + assert estimate["estimated_energy_flops"] == ( + estimate["path_flops"] * expected_contractions + ) + assert estimate["estimated_energy_tensor_bindings"] == ( + estimate["tensor_count"] * expected_contractions + ) +``` + +- [x] **Step 2: Run and verify missing keys** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_candidates.py -k energy_level_costs +``` + +Expected: key failure or MPO construction failure. + +- [x] **Step 3: Add fair metrics** + +Pass `config.hamiltonian_representation` into `build_tn_energy`. Compute: + +```python +contractions_per_energy = ( + 2 * spec.nqubits - 1 + if config.hamiltonian_representation == "pauli_sum" + else 1 +) +``` + +Add: + +```python +"hamiltonian_representation": config.hamiltonian_representation, +"contractions_per_energy": contractions_per_energy, +"estimated_energy_flops": ( + path_program.flops * contractions_per_energy +), +"estimated_energy_tensor_bindings": ( + path_program.tensor_count * contractions_per_energy +), +``` + +- [x] **Step 4: Run worker tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_candidates.py +``` + +Expected: all pass. + +- [x] **Step 5: Commit** + +```bash +git add src/vqetape/worker.py tests/test_tn_candidates.py +git commit -m "feat: report VQE energy-level contraction costs" +``` + +--- + +### Task 7: Joint Hamiltonian–Path–Tape Search + +**Files:** +- Modify: `src/vqetape/tn_candidates.py` +- Modify: `tests/test_tn_candidates.py` + +**Interfaces:** +- Consumes: `HamiltonianRepresentation` +- Produces: 24 default candidates with dense gates + +- [x] **Step 1: Write candidate-isolation tests** + +```python +def test_joint_candidates_cover_hamiltonian_representations(): + request = CompileRequest( + TFIMVQESpec(nqubits=3, depth=1), + memory_budget_bytes=1024**3, + expected_vqe_steps=10, + ) + candidates = enumerate_tn_candidates( + request, + strategies=("greedy",), + ) + assert {item.gate_representation for item in candidates} == {"dense"} + assert {item.hamiltonian_representation for item in candidates} == { + "pauli_sum", + "mpo", + } + assert len(candidates) == 8 + for representation in ("pauli_sum", "mpo"): + matching = [ + item for item in candidates + if item.hamiltonian_representation == representation + ] + assert len({item.path for item in matching}) == 1 + assert {item.remat_policy for item in matching} == {"none", "named"} +``` + +- [x] **Step 2: Verify old gate-representation search fails expectations** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_candidates.py -k joint_candidates +``` + +Expected: only `pauli_sum` and both gate representations appear. + +- [x] **Step 3: Change search axes** + +Use: + +```python +gate_representations: tuple[GateRepresentation, ...] = ("dense",) +hamiltonian_representations: tuple[HamiltonianRepresentation, ...] = ( + "pauli_sum", + "mpo", +) +``` + +Build the appropriate template for each pair, search each path once, and +attach it to one default and three named tape candidates. + +- [x] **Step 4: Preserve diagnostic gate search** + +Keep both keyword parameters public so the previous operator-Schmidt +experiment can be reproduced with: + +```python +enumerate_tn_candidates( + request, + gate_representations=("dense", "operator_schmidt"), + hamiltonian_representations=("pauli_sum",), +) +``` + +- [x] **Step 5: Run candidate tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tn_candidates.py +``` + +Expected: all pass. + +- [x] **Step 6: Commit** + +```bash +git add src/vqetape/tn_candidates.py tests/test_tn_candidates.py +git commit -m "feat: jointly search Pauli-sum and MPO VQE programs" +``` + +--- + +### Task 8: Residual and Cross-Topology Validation + +**Files:** +- Modify: `tests/test_tape.py` +- Modify: `tests/test_tn_program.py` + +**Interfaces:** +- Consumes: complete Pauli-sum and MPO energy functions +- Produces: structured residual and path-isolation evidence + +- [x] **Step 1: Add logical tape comparison** + +```python +def test_mpo_removes_repeated_circuit_gate_residuals(): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.zeros(spec.parameter_shape) + profiles = {} + for representation in ("pauli_sum", "mpo"): + energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + hamiltonian_representation=representation, + ) + profiles[representation] = profile_saved_residuals(energy, theta) + assert profiles["mpo"].total_bytes < profiles["pauli_sum"].total_bytes + assert ( + profiles["mpo"].bytes_by_category().get("jitted:_diag", 0) + < + profiles["pauli_sum"].bytes_by_category().get("jitted:_diag", 0) + ) +``` + +Parameterize named tape ordering over both Hamiltonian representations. + +- [x] **Step 2: Add cross-topology path replanning** + +```python +def test_explicit_path_is_revalidated_against_mpo_topology(): + spec = TFIMVQESpec(nqubits=3, depth=1) + pauli = plan_contraction(build_expectation_template(spec), "greedy") + mpo = plan_contraction( + build_mpo_expectation_template(spec), + "greedy", + explicit_path=pauli.path, + ) + assert mpo.path == pauli.path + assert mpo.template.hamiltonian_representation == "mpo" + assert mpo.template.equation != pauli.template.equation + assert mpo.flops != pauli.flops +``` + +A positional schedule may remain valid when two different networks happen to +have the same operand count. In that case it is safe to reuse the schedule, +but the contraction equations, intermediate sizes, and FLOP cost must be +rebuilt for the selected topology. Invalid positional schedules are rejected. + +- [x] **Step 3: Run residual and path tests** + +Run: + +```bash +.venv/bin/pytest -q tests/test_tape.py tests/test_tn_program.py +``` + +Expected: all pass. + +- [x] **Step 4: Commit** + +```bash +git add tests/test_tape.py tests/test_tn_program.py +git commit -m "test: validate MPO tape sharing and topology isolation" +``` + +--- + +### Task 9: Reproducible MPO Experiments + +**Files:** +- Modify: `README.md` +- Create through CLI: `outputs/vqetape-tfim-mpo-report.json` +- Create through CLI: `outputs/vqetape-tfim-mpo-report-holdout.json` +- Create: `outputs/vqetape-tfim-mpo-findings.md` + +**Interfaces:** +- Consumes: the complete Hamiltonian/path/tape search +- Produces: two fixed reports and a decision-gate audit + +- [x] **Step 1: Run the primary experiment** + +```bash +.venv/bin/vqetape \ + --mode direct-tn \ + --nqubits 3 \ + --depth 2 \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 3 \ + --timeout-seconds 240 \ + --output outputs/vqetape-tfim-mpo-report.json +``` + +- [x] **Step 2: Run the holdout experiment** + +```bash +.venv/bin/vqetape \ + --mode direct-tn \ + --nqubits 3 \ + --depth 1 \ + --coupling 0.7 \ + --field 0.3 \ + --initial-state zero \ + --memory-budget-gib 2 \ + --expected-steps 100 \ + --warm-repeats 3 \ + --timeout-seconds 180 \ + --output outputs/vqetape-tfim-mpo-report-holdout.json +``` + +- [x] **Step 3: Audit JSON invariants** + +```bash +.venv/bin/python -c "import json; p=json.load(open('outputs/vqetape-tfim-mpo-report.json')); assert len(p['candidates']) == 24; assert {x['config']['hamiltonian_representation'] for x in p['candidates']} == {'pauli_sum','mpo'}; assert all(x['valid'] for x in p['candidates'])" +``` + +Expected: exit zero. + +- [x] **Step 4: Write findings** + +Include: + +- all default path rows for both Hamiltonian representations; +- contractions per energy; +- path and estimated energy FLOPs; +- logical residual bytes and `_diag` bytes; +- compiler temp; +- compile and warm time; +- maximum oracle errors; +- two-dimensional temp/warm dominance; +- a PASS/FAIL row for every design decision gate. + +- [x] **Step 5: Update README** + +Document the exact \(\chi_H=3\) MPO, the new configuration dimension, fair +energy-level metrics, and a link to the findings. + +- [x] **Step 6: Run the full suite** + +```bash +.venv/bin/pytest -q +``` + +Expected: all tests pass. + +- [x] **Step 7: Commit** + +```bash +git add README.md outputs/vqetape-tfim-mpo-report.json outputs/vqetape-tfim-mpo-report-holdout.json outputs/vqetape-tfim-mpo-findings.md +git commit -m "test: report exact MPO VQETape evidence" +``` + +--- + +### Task 10: Completion Audit + +**Files:** +- Modify: `docs/superpowers/plans/2026-07-29-vqetape-tfim-mpo.md` +- Modify: `outputs/vqetape-tfim-mpo-findings.md` + +**Interfaces:** +- Consumes: source, tests, reports, git state +- Produces: checked plan and exact completion evidence + +- [x] **Step 1: Match requirements to evidence** + +```text +configuration -> spec round-trip and validation tests +MPO algebra -> n=2,3,4 dense reconstruction tests +closed topology -> first/bulk/last slot and index tests +one-shot energy -> full-gradient oracle tests +fair cost model -> contractions_per_energy worker tests +path/tape isolation -> candidate, named-tape, and topology-replanning tests +residual sharing -> structured VJP profile tests +fresh benchmarks -> two JSON reports +decision gates -> findings audit +``` + +- [x] **Step 2: Run the final regression** + +```bash +.venv/bin/pytest -q +``` + +Record the exact count and elapsed time in the findings. + +- [x] **Step 3: Verify clean state before the checklist commit** + +```bash +git status --short +``` + +Expected: only the plan and findings updates are present. + +- [x] **Step 4: Mark every completed checkbox and commit** + +```bash +git add docs/superpowers/plans/2026-07-29-vqetape-tfim-mpo.md outputs/vqetape-tfim-mpo-findings.md +git commit -m "docs: complete exact TFIM MPO VQETape phase" +``` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-time-to-solution.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-time-to-solution.md new file mode 100644 index 000000000..779652d97 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-29-vqetape-time-to-solution.md @@ -0,0 +1,205 @@ +# VQETape End-to-Solution Training Implementation Plan + +**Goal:** Compare exact VQE execution programs, classical optimizers, and +initialization/recycling policies by synchronized wall-clock time and value- +gradient calls required to reach a target energy error. + +**Architecture:** A training specification selects an already-supported +statevector or spatial program and one optimizer. A compiler helper explicitly +lowers/compiles the value-and-gradient kernel and records that time. A pure +training loop records every synchronized evaluation, convergence error, +gradient norm, optimizer overhead, call count, and total time. The exact +open-boundary TFIM ground energy comes from a \(2n\times2n\) BdG oracle. +Parameter recycling is a separately serialized initialization transform. + +**Constraints:** + +- The target is \(E(\theta)-E_0\leq\epsilon\), never raw iteration count. +- Compile, first execution, all value-gradient calls, and optimizer overhead + remain separately reported and all contribute to end-to-solution time. +- Every optimizer starts from exactly the serialized initialization assigned + to that comparison. +- The unused final RZZ padding parameter remains zero and is never updated. +- NaN/Inf energy, gradient, metric, or optimizer state invalidates a run. +- Optional SciPy absence yields a structured skip for L-BFGS-B. +- Natural gradient reports damping and metric conditioning. + +--- + +## Task 1: Add the exact TFIM ground-energy oracle + +**Files:** +- Create: `src/vqetape/ground_state.py` +- Create: `tests/test_ground_state.py` + +Construct the open-chain BdG matrices: + +\[ +A_{jj}=2g,\quad A_{j,j+1}=A_{j+1,j}=-J, +\] + +\[ +B_{j,j+1}=-J,\quad B_{j+1,j}=J, +\] + +\[ +\mathcal H_{\mathrm{BdG}}= +\begin{pmatrix}A&B\\-B&-A\end{pmatrix}. +\] + +If \(\epsilon_\nu>0\) are the positive eigenvalues, return +\(-\frac12\sum_\nu\epsilon_\nu\). Compare with dense diagonalization for +two through seven qubits and multiple \(J,g\). + +Commit: `feat: add exact TFIM ground-energy oracle` + +--- + +## Task 2: Define training requests, traces, and results + +**Files:** +- Create: `src/vqetape/training_spec.py` +- Create: `tests/test_training_spec.py` + +Define validated immutable records: + +```python +OptimizerName = Literal["adam", "lbfgs", "natural-gradient"] +InitializationName = Literal["zeros", "random", "recycled"] + +@dataclass(frozen=True) +class VQETrainingRequest: + spec: TFIMVQESpec + program: ProgramConfig | SpatialProgramConfig + optimizer: OptimizerName + initialization: InitializationName + target_energy_error: float + max_steps: int + seed: int = 0 + learning_rate: float = 0.05 + damping: float = 1e-3 + recycled_parameters: tuple[...] | None = None + +@dataclass(frozen=True) +class VQEStep: + evaluation: int + optimizer_step: int + energy: float + energy_error: float + gradient_norm: float + elapsed_seconds: float + +@dataclass(frozen=True) +class VQETrainingResult: + ... +``` + +Round-trip every record through JSON-compatible dictionaries. Reject invalid +targets, steps, learning rates, damping, or recycled provenance. + +Commit: `feat: define VQE training contracts` + +--- + +## Task 3: Implement deterministic initialization and recycling + +**Files:** +- Create: `src/vqetape/initialization.py` +- Create: `tests/test_initialization.py` + +Implement zeros/random initialization and a translation-aware recycling map: + +- copy overlapping layers and physical sites; +- fill new sites from the mean active RZZ/RX angle in the source layer; +- fill new layers from the last source layer; +- always force `theta[:, 0, -1] = 0`; +- serialize source/target shapes and transform policy. + +Test chain growth, depth growth, shrinkage, deterministic random seeds, and +exact zero padding. + +Commit: `feat: initialize and recycle VQE parameters` + +--- + +## Task 4: Implement Adam, L-BFGS-B, and natural gradient + +**Files:** +- Create: `src/vqetape/optimizers.py` +- Create: `tests/test_optimizers.py` + +Implement: + +- Adam with bias correction and configurable learning rate; +- SciPy L-BFGS-B using one combined value-and-gradient callback; +- damped natural gradient using the exact pure-state QGT from the + statevector Jacobian on audited small systems. + +Expose callbacks so the training runner records every expensive evaluation. +For natural gradient solve: + +\[ +(F+\lambda I)\Delta\theta=-\eta\nabla E +\] + +and report `numpy.linalg.cond(F + damping*I)`. Freeze the RZZ padding mask in +all updates. + +Compare each optimizer on convex quadratic fixtures; compare the QGT with a +finite-difference metric for a two-qubit circuit. + +Commit: `feat: add classical VQE optimizer kernels` + +--- + +## Task 5: Execute and time complete VQE training + +**Files:** +- Create: `src/vqetape/training.py` +- Create: `tests/test_training.py` + +Build the chosen program, lower and compile it explicitly, then run the +optimizer with synchronized outputs. Track: + +- compile seconds; +- first-execution seconds; +- optimization seconds; +- time to first target, including compile; +- value-gradient call count; +- optimizer steps; +- peak RSS; +- final parameters and complete trace; +- failure/skip reason. + +Use the BdG ground energy unless a validated override is supplied. Stop at +the first target crossing. Tests use small TFIM workloads and deterministic +quadratic injected kernels to audit timing/call/stop semantics. + +Commit: `feat: measure VQE time to target` + +--- + +## Task 6: Add a training CLI and comparison report + +**Files:** +- Create: `src/vqetape/training_cli.py` +- Modify: `pyproject.toml` +- Create: `tests/test_training_cli.py` +- Create: + - `outputs/vqetape-training-report.json` + - `outputs/vqetape-training-findings.md` +- Modify: `README.md` + +Add the `vqetape-train` command. Run an audited small TFIM matrix comparing: + +- Adam, L-BFGS-B, and natural gradient; +- zero and seeded-random starts; +- a recycled start from a smaller/shallower converged workload; +- at least two exact execution programs chosen from dense spatial and the + measured spatial/symmetry frontier. + +Report convergence curves, calls, compile, optimization, time-to-target, +final error, and failures. Do not rank nonconverged runs by final time alone. +Validate JSON, run the full suite, and document the best supported policy. + +Commit: `docs: report VQE time-to-solution results` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-positive-delivery.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-positive-delivery.md new file mode 100644 index 000000000..6b81b381d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-positive-delivery.md @@ -0,0 +1,103 @@ +# VQETape Innovation-First Delivery Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Ship a reviewer-ready, self-contained VQETape delivery for Quantum Harness Issue #33 with an innovation-first technical narrative, regenerated PDF/data/text artifacts, a public standalone repository, and synchronized PR communication. + +**Architecture:** Keep committed canonical benchmark JSON as the immutable evidence layer. Generate the reviewer-facing Markdown, HTML, status map, tabular data, manifest, and PDF from those sources; mirror the implementation and selected evidence into a standalone public repository; connect Issue #33, PR #263, and the showcase repository with stable links. + +**Tech Stack:** Python 3.11+, JAX, TensorNetwork, TensorCircuit-NG, ReportLab, pytest, Git, GitHub CLI. + +## Global Constraints + +- Preserve every measured number and canonical JSON record. +- Use the approved thesis: “Compile the forward contraction, reverse program, and variational ansatz as one optimization problem.” +- Use reviewer-facing labels: Demonstrated result, Measured trade-off, Validated protocol, Next optimization frontier, Scale-up target. +- Keep raw evidence auditable while removing defensive status language from README, generated delivery artifacts, PR body, and PR comments. +- Do not expose credentials, private keys, tokens, local absolute paths, or cluster access details. +- Apply visibility changes only after the standalone repository passes its content and secret audit. +- Use Lore-formatted commits with the required `Co-authored-by` trailer. + +--- + +## Task 1: Reframe the Canonical Reviewer Package + +**Files:** +- Modify: `tracks/qcs/solutions/WangTheoPhys/issue33/README.md` +- Modify: `tracks/qcs/solutions/WangTheoPhys/issue33/scripts/build_submission_report.py` +- Regenerate: `tracks/qcs/solutions/WangTheoPhys/issue33/submission/` + +- [ ] Rewrite the README opening around the differentiated co-design compiler thesis and four innovations. +- [ ] Preserve the exact RTX 3090, RTX 3080, adaptive-ansatz, correctness, and regression values. +- [ ] Rewrite generated Markdown, HTML, JSON status fields, text status map, and PDF labels using the approved result vocabulary. +- [ ] Keep the six canonical evidence files as the only numerical inputs to the report builder. +- [ ] Run the report builder and confirm it refreshes the artifact manifest. + +**Verification:** + +Run: `python tracks/qcs/solutions/WangTheoPhys/issue33/scripts/build_submission_report.py` + +Expected: exit 0 and refreshed files under `submission/`. + +## Task 2: Validate Content, Data, and PDF + +**Files:** +- Verify: `tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-matched-benchmark.tsv` +- Verify: `tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.json` +- Verify: `tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-technical-report.md` +- Verify: `tracks/qcs/solutions/WangTheoPhys/issue33/submission/output/pdf/vqetape-technical-report.pdf` + +- [ ] Compare generated benchmark fields to canonical JSON inputs. +- [ ] Scan reviewer-facing text for defensive labels and local/private path leakage. +- [ ] Extract PDF text and confirm the headline metrics and artifact links are present. +- [ ] Render every PDF page to PNG and inspect every page for clipping, overlap, tiny text, or blank regions. +- [ ] Run the targeted report and benchmark tests, followed by the full Issue #33 regression suite. + +**Verification:** + +Run: `pytest -q tracks/qcs/solutions/WangTheoPhys/issue33/tests` + +Expected: all executable tests pass and only the six declared structural cases remain skipped. + +## Task 3: Assemble the Standalone Public Repository + +**Files:** +- Modify: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/README.md` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/DELIVERY.md` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/TECHNICAL_REPORT.md` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/data/` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/output/pdf/` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/src/` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/tests/` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/scripts/` +- Add: `/Users/thomasjwang/Documents/GitHub/issue-33-extreme-efficiency-vqe/selected-evidence/` + +- [ ] Copy the implementation, tests, report builder, generated data/text/PDF, and six selected canonical JSON records. +- [ ] Author a standalone README with the compiler thesis, measured anchors, architecture, quickstart, and bidirectional challenge links. +- [ ] Author `DELIVERY.md` as a compact reviewer artifact index. +- [ ] Scan tracked content and Git history for secret-like filenames, credentials, tokens, cluster aliases, and private paths. +- [ ] Run the standalone test suite and report regeneration command. +- [ ] Commit and push the standalone repository while it is still private. +- [ ] Change repository visibility to public and update its description, homepage, and topics. + +## Task 4: Publish the Upstream PR Delivery + +**Files:** +- Commit: `tracks/qcs/solutions/WangTheoPhys/issue33/**` +- Update: `QuantumBFS/quantum.harness#263` body +- Update: PR comment `5124997441` +- Add: final PR delivery comment tagging `@fliingelephant` + +- [ ] Review the exact staged diff and confirm only Issue #33 delivery files changed. +- [ ] Commit and push branch `codex/issue-33-vqetape` to the fork. +- [ ] Rewrite the PR body with the thesis, four innovations, exact quantitative anchors, verification, and public artifact links. +- [ ] Convert the existing GPU comment into a positive precision-aware co-design milestone. +- [ ] Add one final delivery comment tagging `@fliingelephant` and linking the PDF, data/text report, code, and standalone public repository. + +## Task 5: Remote Completion Audit + +- [ ] Confirm the PR is open, mergeable, non-draft, and points at the pushed head commit. +- [ ] Confirm the standalone repository is public and its default branch contains README, delivery guide, report, data, PDF, source, tests, scripts, and evidence. +- [ ] Confirm all raw GitHub links return successfully and the PDF is downloadable. +- [ ] Confirm the final PR body and both comments show the intended positive narrative and exact evidence. +- [ ] Record final commit SHAs, URLs, test counts, and delivery status for handoff. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-submission-package.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-submission-package.md new file mode 100644 index 000000000..1f60d2198 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-submission-package.md @@ -0,0 +1,67 @@ +# VQETape Submission Package Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Deliver a reviewer-readable, machine-auditable VQETape submission package before the 2026-07-30 20:00 CST deadline and update the existing pull request without overstating the TensorCircuit-NG comparison. + +**Architecture:** A reproducible Python builder reads the committed canonical JSON evidence, derives the matched benchmark table, and emits the same claims into TSV, plain text, JSON, Markdown, HTML, and PDF. The PDF is rendered separately for visual QA; the PR README is the stable reviewer entry point. + +**Tech Stack:** Python 3.12, standard library, ReportLab 4, pypdf/pdfinfo/pdftoppm for verification, pytest, Git, GitHub CLI. + +## Global Constraints + +- Preserve the exact matched protocol: open-boundary TFIM, `n=10`, `L=4`, plus initial state, RZZ-then-RX ansatz, seed 33, complex64, RTX 3090. +- Derive performance values from committed JSON; label any Slurm/NVML annotations by their source. +- State the result boundary explicitly: VQETape spatial wins `compile + first + 100 warm` and host RSS, but loses warm runtime and does not establish a device-memory or formal Fig. 2 victory. +- Do not start a new PR. Update the existing `codex/issue-33-vqetape` branch and PR #263. +- Stop all PR updates by 20:00 CST. + +--- + +### Task 1: Build the reproducible submission artifacts + +**Files:** +- Create: `scripts/build_submission_report.py` +- Create: `submission/vqetape-matched-benchmark.tsv` +- Create: `submission/submission-status.txt` +- Create: `submission/report.json` +- Create: `submission/vqetape-technical-report.md` +- Create: `submission/report.html` +- Create: `submission/output/pdf/vqetape-technical-report.pdf` +- Create: `submission/artifact-manifest.json` + +- [x] Parse the four matched RTX 3090 benchmark JSON files and the Fig. 2 smoke JSON. +- [x] Compute the declared 100-step objective, speed ratios, and host RSS deltas. +- [x] Emit all text and tabular formats from one in-memory evidence model. +- [x] Fail the build if source evidence is absent or correctness tolerances fail. + +### Task 2: Verify content and PDF rendering + +**Files:** +- Test: `submission/output/pdf/vqetape-technical-report.pdf` +- Test: `submission/artifact-manifest.json` + +- [x] Parse all generated JSON and TSV outputs. +- [x] Confirm the PDF page count and extractable text. +- [x] Render every PDF page to PNG and visually inspect for clipping, overlap, missing glyphs, and unreadable tables. +- [x] Re-run the targeted baseline/Fig. 2 tests and static checks. + +### Task 3: Update the reviewer entry point + +**Files:** +- Modify: `README.md` + +- [x] Link the PDF, Markdown report, HTML report, TSV, status text, and manifest. +- [x] Put the measured win and the warm-runtime/device-memory limitations in the first screen. +- [x] Provide one reproducible rebuild command. + +### Task 4: Publish the final state + +**Files:** +- Modify: existing Git commit history and PR #263 metadata only. + +- [x] Review the diff and secret scan. +- [x] Commit with the repository-required trailer. +- [x] Push `codex/issue-33-vqetape` to `JunkaiWang-TheoPhy/quantum.harness`. +- [x] Update the existing upstream PR body with direct artifact links and the honest result matrix. +- [x] Confirm the PR is open, ready for review, mergeable, and points to the pushed commit. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-tensorcircuit-ng-baseline.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-tensorcircuit-ng-baseline.md new file mode 100644 index 000000000..d5402db02 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/superpowers/plans/2026-07-30-tensorcircuit-ng-baseline.md @@ -0,0 +1,154 @@ +# TensorCircuit-NG Baseline Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add and execute an audited TensorCircuit-NG value-and-gradient baseline for the exact VQETape RTX 3090 workload, while separately documenting the larger SU(4) Fig. 2 protocol. + +**Architecture:** A standalone optional baseline module imports TensorCircuit-NG lazily, constructs the same open-chain TFIM and `|+>`/RZZ/RX ansatz as VQETape, generates parameters with the same NumPy seed protocol, and measures JAX lower+compile, first execution, warm execution, correctness, and memory metadata. A thin CLI writes one atomic JSON report. The GPU job runs in a fresh process and an external NVML sampler records job-level device memory. + +**Tech Stack:** Python 3.12, TensorCircuit-NG, JAX, NumPy, pytest, Slurm, NVIDIA NVML. + +## Global Constraints + +- Matched workload: open-boundary `H = -sum ZZ - sum X`, `n=10`, depth `4`, `|+>^n`, RZZ then RX, `complex64`, NumPy `default_rng(33)` normal scale `0.1`. +- The unused last RZZ parameter remains in the `(depth, 2, nqubits)` array and must have zero gradient. +- Use `JAX_DEFAULT_MATMUL_PRECISION=highest` unless the caller explicitly overrides it. +- Report lower+compile, first execution, warm median/MAD, host RSS, JAX memory analysis, and NVML peak separately. +- Do not describe the matched RZZ/RX baseline as the paper's Fig. 2 SU(4) benchmark. +- All committed paths remain below `tracks/qcs/solutions/WangTheoPhys/issue33/`. + +--- + +### Task 1: Protocol and parameter parity + +**Files:** +- Create: `src/vqetape/tensorcircuit_baseline.py` +- Test: `tests/test_tensorcircuit_baseline.py` + +**Interfaces:** +- Consumes: `TFIMVQESpec` and the seed protocol in `vqetape.worker._parameters`. +- Produces: `matched_parameters(spec: TFIMVQESpec, seed: int) -> numpy.ndarray` and `build_protocol(spec, seed) -> dict`. + +- [ ] **Step 1: Write failing parity tests** + +```python +def test_matched_parameters_equal_vqetape_worker(): + spec = TFIMVQESpec(nqubits=4, depth=2) + assert np.array_equal(matched_parameters(spec, 33), _parameters(spec, 33)) + +def test_protocol_records_exact_matched_workload(): + protocol = build_protocol(TFIMVQESpec(nqubits=10, depth=4), 33) + assert protocol["hamiltonian"] == "-sum_i Z_i Z_{i+1} - sum_i X_i" + assert protocol["ansatz"] == "plus_then_rzz_rx" +``` + +- [ ] **Step 2: Run tests and verify they fail** + +Run: `python -m pytest -q tests/test_tensorcircuit_baseline.py` + +- [ ] **Step 3: Implement the parameter and protocol helpers** + +Use `numpy.random.default_rng(seed).normal(0.0, 0.1, spec.parameter_shape)` and cast to float32/float64 from `spec.dtype`. + +- [ ] **Step 4: Run tests and verify they pass** + +Run: `python -m pytest -q tests/test_tensorcircuit_baseline.py` + +### Task 2: TensorCircuit-NG value-and-gradient runner + +**Files:** +- Modify: `src/vqetape/tensorcircuit_baseline.py` +- Modify: `tests/test_tensorcircuit_baseline.py` + +**Interfaces:** +- Consumes: `matched_parameters`, `TFIMVQESpec`, contractor name, warm repeat count, optional VQETape reference JSON. +- Produces: `run_baseline(...) -> dict` with protocol, versions, timings, energy, gradient, correctness, and memory analysis. + +- [ ] **Step 1: Add a dependency-free failure test** + +Monkeypatch the lazy TensorCircuit import and assert the error names the `baseline` optional extra. + +- [ ] **Step 2: Implement the official TensorCircuit construction** + +Build `PauliStringSum2COO`, start `tc.Circuit(n)` with Hadamards, apply `c.rzz(i, i+1, theta=params[layer,0,i])`, then `c.rx(i, theta=params[layer,1,i])`, and evaluate `operator_expectation`. JIT `value_and_grad`, call `lower(...).compile()`, synchronize every timed call, and compute median/MAD. + +- [ ] **Step 3: Add correctness checks** + +Compare the result to the committed VQETape statevector energy and gradient. Require energy absolute error at most `1e-5` and gradient relative L2 error at most `1e-5` for complex64. + +- [ ] **Step 4: Run focused tests** + +Run: `python -m pytest -q tests/test_tensorcircuit_baseline.py` + +### Task 3: CLI and optional dependency + +**Files:** +- Create: `src/vqetape/tensorcircuit_baseline_cli.py` +- Modify: `pyproject.toml` +- Modify: `tests/test_tensorcircuit_baseline.py` + +**Interfaces:** +- Produces console script `vqetape-tc-baseline` and optional dependency group `baseline`. + +- [ ] **Step 1: Add parser tests** + +Assert defaults `n=10`, depth `4`, seed `33`, warm repeats `5`, contractor `omeco`, and an explicit output path. + +- [ ] **Step 2: Implement the CLI** + +Write the report through a sibling `.tmp` file and `os.replace`; print a flushed one-line timing/correctness summary. + +- [ ] **Step 3: Register dependencies and entry point** + +Add `baseline = ["tensorcircuit-ng", "omeco", "cotengra"]` and `vqetape-tc-baseline = "vqetape.tensorcircuit_baseline_cli:main"`. + +- [ ] **Step 4: Run focused and full tests** + +Run: `python -m pytest -q tests/test_tensorcircuit_baseline.py` + +### Task 4: RTX 3090 execution + +**Files:** +- Create: `scripts/tensorcircuit-ng-rtx3090.sbatch` + +**Interfaces:** +- Consumes: the installed issue33 package and the committed statevector reference JSON. +- Produces: `outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json`, NVML samples, environment manifest, and SHA256 sums. + +- [ ] **Step 1: Precheck SSH, worktree, partition, and remote environment** + +Use the existing `login03`/`hpccube-xh5` alias, inspect `xhhgnormal01`, and verify JAX/TensorCircuit versions inside a compute allocation. + +- [ ] **Step 2: Preview and feasibility-check the exact job** + +Request one RTX 3090, 8 CPU cores, 16 GiB RAM, and 30 minutes. Inspect the scheduler response before leaving the job queued. + +- [ ] **Step 3: Submit and monitor** + +Confirm `PENDING -> RUNNING`, tail the startup log until `jax.devices()` reports `cuda:0`, then monitor to a terminal Slurm state. + +- [ ] **Step 4: Fetch and audit artifacts** + +Verify JSON parsing, SHA256, Slurm `ExitCode=0:0`, finite timings, correctness pass, and NVML samples. + +### Task 5: Reviewer-facing evidence + +**Files:** +- Create: `outputs/tensorcircuit-ng-baseline-findings.md` +- Modify: `README.md` +- Modify: `docs/vqetape-completion-audit.md` + +**Interfaces:** +- Produces: a matched A/B table and a separate Fig. 2 protocol gap statement. + +- [ ] **Step 1: Write the matched comparison** + +Compare TensorCircuit-NG and VQETape at identical `n=10`, depth `4`, seed `33`, dtype, precision, Hamiltonian, ansatz, and hardware. + +- [ ] **Step 2: State the Fig. 2 boundary** + +Record that the paper uses SU(4) ladder gates, `15 L (N-1)` parameters, `N=32`, `L=16`, cotengra `max_repeats=640`, `FLOPS + 640*WRITE`, and slicing; do not collapse it into the matched RZZ/RX result. + +- [ ] **Step 3: Update the PR summary and verify links** + +Lead with current GPU evidence and `395 passed, 6 skipped`, link the baseline findings, and remove the stale CPU-only/GPU-skipped claim. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/docs/vqetape-completion-audit.md b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/vqetape-completion-audit.md new file mode 100644 index 000000000..21d832b04 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/docs/vqetape-completion-audit.md @@ -0,0 +1,171 @@ +# VQETape Completion Audit + +## Status + +The approved VQETape next-stage design is implemented and audited, including +an RTX 3090 follow-up validation and a correct same-node TensorCircuit-NG +threshold for the matched RZZ/RX workload. The paper Fig. 2 SU(4) protocol is +implemented with a passing small GPU correctness smoke; the formal +`N=32,L=16` scale run remains open. + +Last full repository regression before the incremental Fig. 2 runner: + +```text +395 passed, 6 skipped in 1582.14s (0:26:22) +``` + +The matched-baseline and Fig. 2 targeted suites subsequently pass +`17 passed` together, including a real cotengra path search, JSON round-trip, +and direct value-gradient control. The six skips in the full run are all the +expected structural case +`block wider than interior` in `tests/test_spatial_programs.py`; there are no +failed tests. This final clean-room regression used Python 3.12 with JAX and +jaxlib 0.11.0; the pinned RTX 3090 performance environment remains JAX 0.4.38. + +Static artifact checks also passed: + +- all 27 JSON reports parse with the standard JSON decoder; +- all `src/vqetape` modules compile; +- `git diff --check` reports no whitespace errors; +- the public API exposes compile, training, ansatz-growth, spatial, TFIM, and + holdout entry points. + +## Requirement-to-evidence matrix + +| Approved requirement | Implementation | Tests | Raw evidence | Decision | +|---|---|---|---|---| +| Exact blocked spatial contraction | `spatial_plan.py`, `spatial_programs.py`, `spatial_candidates.py` | block/tail/path and value-gradient tests | blocked-spatial n8/n12 reports | Width 2/3 improve some warm frontiers; width 1 remains the 100-call default | +| Differentiated contraction model | `ad_analysis.py` | exact forward/reverse FLOPs, intermediates, traffic, residuals | AD-aware n8/n12 reports | Diagnostic; first static score did not beat forward FLOPs as a runtime predictor | +| Explicit contraction-tree VJP | `explicit_vjp.py` plus spatial integration | complex VJP correctness and identical-path comparisons | AD-aware reports | Reduces logical tape in every valid pair and reaches Pareto fronts; not a universal warm-time default | +| Exact symmetry compression | `symmetry.py`, `symmetry_programs.py` | sector invariance and compressed/reference/native value/VJP | symmetry n8/n12 reports | Recurrent boundary exactly halved; native BCOO remains optional because CPU tape/temp often increase | +| VQE time-to-solution | `ground_state.py`, `training.py`, `training_benchmark.py` | BdG oracle, timing/call accounting, fresh-process isolation | `vqetape-training-report.json` | Small-workload statevector wins; exact spatial choices remain scalability candidates | +| Classical optimizer co-design | `optimizers.py` | Adam, L-BFGS-B, exact-QGT natural-gradient fixtures | training report | Zero initialization is stationary; natural gradient saves calls but exact QGT loses wall time on the audited CPU | +| Initialization and recycling | `initialization.py` | deterministic random, chain/depth growth, shrink, padding | training report | Recycling lowers target-workload calls, but source-solve cost must be separately amortized | +| Adaptive ansatz design | `ansatz.py`, `ansatz_signals.py`, `ansatz_selection.py`, `ansatz_training.py` | exact gradients, metric diagonals, redundancy, fresh workers | `vqetape-ansatz-report.json` | Lie-closed YZ/ZY pool removes X/ZZ false convergence; 10 adaptive parameters reach \(5.05\times10^{-11}\) while the 14-parameter fixed control stops at \(1.70\times10^{-7}\) | +| Contraction-aware ansatz score | `ansatz_cost.py`, `ansatz_selection.py` | cut growth, cache keys, policy fixtures | ansatz report | Correct and non-harmful here, but selects the same three gates as gradient-only; no distinct speedup claim | +| Holdout generality | `holdout.py`, `holdout_worker.py`, `holdout_report.py` | dense action/energy, finite-difference gradient, commutator | `vqetape-holdout-report.json` | Longitudinal-field/RZZ–RY–RX workload converges; TFIM Z2 compression is explicitly rejected | +| Device/GPU evidence | `runtime_capabilities.py`, `subprocess_env.py` | JSON, memory-semantics, and worker-environment tests | `vqetape-gpu-rtx3090-findings.md` plus five raw JSON reports | RTX 3090 statevector/direct-TN/spatial jobs pass exactness with `highest` matmul precision; platform default fails a controlled spatial A/B comparison; an unset-parent-environment integration job confirms the worker default | +| TensorCircuit-NG threshold | `tensorcircuit_baseline.py`, `tensorcircuit_baseline_cli.py` | parameter/protocol parity, strict value-gradient correctness, CLI defaults | `tensorcircuit-ng-baseline-findings.md` and matched JSON | On the same RTX 3090, VQETape spatial is 8.2% faster on `compile + first + 100 warm` and uses 28.3% less host RSS; sampled device memory is tied | +| TensorCircuit-NG Fig. 2 protocol | `tensorcircuit_fig2.py`, `tensorcircuit_fig2_cli.py` | 7,440-parameter contract, score/slicing manifest, safe JSON round-trip, direct value-gradient control | `tensorcircuit-ng-fig2-smoke-findings.md` plus path/run JSON | RTX 3080 `N=6,L=3` smoke passes at `2.38e-7` energy and `3.29e-7` gradient error; this proves the protocol path, not formal `N=32,L=16` scale performance | + +## Exactness invariants + +The completed implementation preserves these invariants: + +1. Candidate energy and complete gradients are checked against statevector + oracles at audited sizes. +2. TFIM uses the fixed convention + \[ + H=-J\sum_iZ_iZ_{i+1}-g\sum_iX_i. + \] +3. The TFIM MPO has exact bond dimension three. +4. Spatial transfer never materializes a dense \(D\times D\) transfer matrix. +5. Z2 compression is only enabled for the supported plus-state, + global-X-symmetric workload. +6. The longitudinal holdout uses dense diagonalization, not the TFIM BdG + formula, and rejects Z2 compression. +7. Training target time includes compilation, synchronized value-gradient + calls, screening/recompilation where applicable, and optimizer overhead. +8. Fresh workers use distinct in-memory and persistent compilation-cache + state. +9. Process RSS, compiler temporary bytes, logical residual bytes, modeled + checkpoint bytes, and genuine GPU peak memory remain separately labeled. +10. Fresh JAX workers default to `highest` matmul precision; an explicit + caller environment override is preserved. +11. The TensorCircuit-NG runners apply that precision policy to both the + TensorCircuit backend and TensorNetwork's separately cached JAX backend; + otherwise TensorNetwork explicitly selects reduced-precision GPU dots. +12. Fig. 2 path artifacts are checksum-bound JSON, never executable pickle, + and preserve the exact `15 * L * (N - 1)` parameter count. + +## What is novel in the completed prototype + +The integrated contribution is the executable comparison of + +\[ +\text{representation} ++\text{contraction path} ++\text{reverse program} ++\text{checkpoint schedule} ++\text{symmetry sector} ++\text{optimizer} ++\text{initialization} ++\text{ansatz growth}. +\] + +Two results are especially substantive: + +- explicit differentiated contraction programs expose a logical-tape versus + runtime tradeoff that forward-only path scores miss; +- first-commutator YZ/ZY generators repair a real zero-gradient failure of the + original symmetry-compatible X/ZZ adaptive pool while retaining exact + rank-two two-site structure. + +The project also records negative results: + +- single-contraction and residual-threshold rematerialization do not + automatically reduce compiler temporary memory; +- operator-Schmidt RZZ reduces logical tape but loses the measured executable + Pareto comparison on the small CPU tests; +- the first AD-aware static score does not improve runtime ranking; +- sparse Z2 metadata can cost more than the removed dense carry on CPU; +- exact natural gradient can reduce iterations while increasing wall time; +- contraction-aware ansatz ranking earns no independent win on the symmetric + four-qubit workload. +- a matched TensorCircuit-NG baseline beats VQETape statevector at this size, + and VQETape spatial's 8.2% objective win does not yet imply a universal or + Fig. 2-scale victory; +- `JAX_DEFAULT_MATMUL_PRECISION=highest` alone is insufficient for + TensorNetwork contractions because its cached JAX backend explicitly uses + `Precision.DEFAULT`; two controlled GPU jobs failed strict correctness + before the backend precision was mapped explicitly. + +## Current boundary + +Completion means the approved exact one-dimensional research prototype is +done; it does not mean generic quantum simulation is solved. Remaining +out-of-scope work includes: + +- arbitrary Python/TensorCircuit-NG program transformation; +- general Pauli-to-MPO compression; +- approximate MPS/PEPS truncation; +- two-dimensional or deep-circuit scaling; +- formal Fig. 2 `N=32,L=16,max_repeats=640` execution and slicing on + paper-comparable hardware; +- larger-scale GPU peak-memory/performance sweeps and independent hardware + replication; +- multi-GPU distribution and host offload; +- chemistry operator pools and shot/noise-aware optimization. + +The original capability report records its local machine as CPU-only. The +separate RTX 3090 audit supplies CUDA-specific measurements without +retroactively relabeling those CPU runs. + +## Reproduction + +```bash +python3.12 -m venv .venv +.venv/bin/python -m pip install -e '.[test]' +.venv/bin/python -m pytest -q +``` + +Representative reports can be regenerated with: + +```bash +vqetape --mode spatial-transfer ... +vqetape --mode symmetry ... +vqetape-train ... +vqetape-ansatz \ + --output outputs/vqetape-ansatz-report.json \ + --findings outputs/vqetape-ansatz-findings.md +vqetape-tc-baseline \ + --nqubits 10 --depth 4 --seed 33 \ + --contractor omeco \ + --reference outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json \ + --output outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json +vqetape-tc-fig2 manifest \ + --output outputs/tensorcircuit-ng-fig2-n32-l16-manifest.json +``` + +See the raw JSON and paired Markdown files under `outputs/` for the complete +machine-readable evidence. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-baseline-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-baseline-findings.md new file mode 100644 index 000000000..de229caa2 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-baseline-findings.md @@ -0,0 +1,98 @@ +# TensorCircuit-NG matched RTX 3090 baseline + +## Comparison contract + +This experiment supplies the missing same-machine TensorCircuit-NG threshold +for the workload already measured by VQETape: + +- open-boundary `H = -sum(ZZ) - sum(X)`; +- `n=10`, depth `L=4`, `|+>^n`, RZZ then RX; +- parameter shape `(4, 2, 10)`, NumPy `default_rng(33)`, normal scale `0.1`; +- `complex64`, five synchronized warm repetitions; +- one NVIDIA RTX 3090 on Slurm node `c05r05`; +- JAX/JAXlib 0.4.38 and `JAX_DEFAULT_MATMUL_PRECISION=highest`. + +TensorCircuit-NG 1.8.0 with TensorNetwork-NG 0.5.1 uses the construction in +`examples/benchmark_jax_vs_torch_vqe.py`: `PauliStringSum2COO`, a JAX +value-and-gradient, and OMECo TreeSA with 16 trials, 16 iterations, and the +published small-example score weights. Lowering plus compilation includes the +one measured OMECo path search. + +## Audited result + +| Implementation | Slurm job | Compile (s) | First execute (s) | Warm median (ms) | Warm MAD (ms) | Compile + first + 100 warm (s) | Host peak RSS (MiB) | NVML job peak (MiB) | Energy abs. error | Gradient rel. L2 error | +|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| TensorCircuit-NG, OMECo | 23020496 | 17.7799 | 0.2263 | 2.6577 | 0.0070 | 18.2720 | 661.3 | 272 | 3.81e-6 | 6.19e-7 | +| VQETape statevector | 23015042 | 28.7213 | 0.4025 | 3.3785 | 0.0231 | 29.4617 | 462.4 | 272 | 0 | 0 | +| VQETape direct TN | 23015037 | 45.6544 | 0.1376 | 5.0498 | 0.0669 | 46.2970 | 575.0 | 274 | 9.54e-7 | 4.18e-7 | +| VQETape spatial transfer, block 2 | 23015038 | 15.5816 | 0.3636 | 8.3281 | 0.0269 | 16.7781 | 473.9 | 274 | 3.81e-6 | 9.15e-7 | + +Job 23020496 ended `COMPLETED/0:0`, reported `cuda:0`, recorded both +TensorCircuit and TensorNetwork contraction precision as `HIGHEST`, passed +the `1e-5` energy and gradient tolerances, and passed remote and local SHA256 +audits. + +The baseline is competitive and changes the interpretation of the existing +results: + +- TensorCircuit-NG is 1.61x faster than VQETape statevector on the declared + 100-step objective and has a 1.27x faster warm value-gradient; +- VQETape spatial transfer is 8.2% faster than TensorCircuit-NG on the same + objective and uses 28.3% less host peak RSS; +- TensorCircuit-NG has the faster warm kernel, so the measured spatial win is + a compilation-amortization result, not a universal steady-state win; +- the 272--274 MiB sampled NVML peaks are effectively tied at this small size + and do not establish a device-memory victory. + +This crosses the minimum threshold of having an executable, correct, +same-workload, same-node TensorCircuit-NG baseline. It does **not** establish +that VQETape has surpassed every official TensorCircuit-NG benchmark in both +time and space. + +## Precision defect found during the baseline + +Two control jobs exposed a TensorNetwork/JAX integration hazard: + +| Control | Slurm job | TensorNetwork dot precision | Energy abs. error | Gradient rel. L2 error | Result | +|---|---:|---|---:|---:|---| +| OMECo | 23020299 | `DEFAULT` | 2.71e-3 | 2.14e-3 | fail | +| Greedy | 23020423 | `DEFAULT` | 3.87e-3 | 2.30e-3 | fail | +| OMECo, repaired | 23020496 | `HIGHEST` | 3.81e-6 | 6.19e-7 | pass | + +TensorNetwork caches a separate JAX backend and passes an explicit +`Precision.DEFAULT` to `jnp.tensordot`. That explicit argument overrides the +surrounding `JAX_DEFAULT_MATMUL_PRECISION=highest` policy. The baseline runner +now maps the requested JAX policy onto both the TensorCircuit and +TensorNetwork backend objects before tracing. The strict correctness threshold +was not relaxed. + +## Boundary versus the paper Fig. 2 protocol + +This matched RZZ/RX comparison is deliberately smaller and different from the +TensorCircuit-NG paper's Fig. 2 experiment. The paper uses an SU(4) ladder +ansatz with `15 * L * (N - 1)` trainable parameters, reports `N=32, L=16` for +the single-GPU case, searches with cotengra `max_repeats=640`, scores FLOPs +plus `640 * WRITE`, and slices toward roughly `2^29` elements. Reproducing that +protocol is the next scale gate; none of the numbers above should be relabeled +as a Fig. 2 reproduction. The SU(4) protocol, safe JSON path artifact, and a +passing `N=6,L=3` GPU smoke are now implemented and audited in +[`tensorcircuit-ng-fig2-smoke-findings.md`](tensorcircuit-ng-fig2-smoke-findings.md). +The formal `N=32,L=16,max_repeats=640` execution remains open. + +## Reproduction and raw evidence + +Install the optional baseline dependencies and run: + +```bash +python3.12 -m pip install -e '.[baseline]' +JAX_DEFAULT_MATMUL_PRECISION=highest vqetape-tc-baseline \ + --nqubits 10 --depth 4 --seed 33 \ + --warm-repeats 5 --expected-steps 100 \ + --contractor omeco \ + --reference outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json \ + --output outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json +``` + +Machine-readable result: +[`tensorcircuit-ng-rtx3090-matched-n10-d4.json`](tensorcircuit-ng-rtx3090-matched-n10-d4.json), +SHA256 `25a0e6ae819582410ca87492eb03a73f1c1aff1a7df5125d5509acae62e0ac9b`. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-path.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-path.json new file mode 100644 index 000000000..e370382e4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-path.json @@ -0,0 +1,1012 @@ +{ + "schema_version": 1, + "artifact_type": "tensorcircuit_ng_fig2_path", + "protocol": { + "paper": { + "title": "TensorCircuit-NG: A Universal, Composable, and Scalable Platform for Quantum Computing and Quantum Simulation", + "arxiv": "2602.14167", + "figure": 2, + "reported_hardware": "NVIDIA H200 141GB", + "reported_single_gpu_n32_l16_step_seconds": 17.86, + "reported_eight_gpu_n32_l16_step_seconds": 2.38 + }, + "hamiltonian": { + "paper_form": "-sum_i Z_i Z_{i+1} - sum_i X_i", + "implementation": "TensorNetwork FiniteTFI rotated-axis open-boundary MPO", + "coupling": 1.0, + "field": 1.0, + "boundary": "open" + }, + "initial_state": "plus", + "ansatz": { + "gate": "TensorCircuit-NG su4", + "gate_parameterization": "exp(-i * sum_k theta_k P_k), 15 nonidentity two-qubit Pauli generators", + "layout": "ladder: adjacent pairs (0,1), (1,2), ..., (nqubits-2,nqubits-1) per layer", + "nqubits": 6, + "depth": 3, + "parameter_shape": [ + 3, + 5, + 15 + ], + "parameter_count": 225, + "parameter_count_formula": "15 * depth * (nqubits - 1)" + }, + "numerics": { + "dtype": "complex64", + "seed": 42, + "initialization": "jax.random.normal(PRNGKey(seed)) * scale", + "parameter_scale": 0.1, + "precision": "highest", + "seed_boundary": "the paper does not state a Fig. 2 seed; seed 42 follows the upstream DistributedContractor VQE example" + }, + "contractor": { + "engine": "TensorCircuit-NG DistributedContractor", + "find_execute_workflow": true, + "max_repeats": 16, + "minimize": "combo-640", + "score": "FLOPS + 640 * WRITE", + "slicing_target_elements": 1048576, + "parallel_path_workers": 4, + "slicing_boundary": "the paper explicitly reports 2^29 elements for the 40-qubit case; this runner makes the value explicit for every run" + }, + "scope": "paper_fig2_protocol_not_matched_rzz_rx_baseline" + }, + "protocol_sha256": "e0ff2c9a0812093b9a925219cf970176902cfed21c2a5d66e383257cf5b48e2d", + "implementation": { + "name": "TensorCircuit-NG DistributedContractor", + "source_repository": "https://github.com/tensorcircuit/tensorcircuit-ng", + "upstream_example": "examples/distributed_interface_vqe.py", + "versions": { + "tensorcircuit-ng": "1.8.0", + "tensornetwork-ng": "0.5.1", + "jax": "0.4.38", + "jaxlib": "0.4.38", + "cotengra": "0.8.2", + "numpy": "2.2.6" + } + }, + "runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "jax_default_matmul_precision": "highest", + "tensor_network_jax_precision": "HIGHEST", + "python": "3.12.11 | packaged by Anaconda, Inc. | (main, Jun 5 2025, 13:09:17) [GCC 11.2.0]", + "slurm_job_id": "23027373", + "slurm_node": "e04r04" + }, + "path_search": { + "seconds": 7.867988228797913, + "options": { + "slicing_reconf_opts": { + "target_size": 1048576 + }, + "max_repeats": 16, + "minimize": "combo-640", + "parallel": 4, + "progbar": false + }, + "tree_stats": { + "slices": 1, + "flops": 9024, + "write": 1937, + "max_size_elements": 192, + "arithmetic_intensity": 4.658750645327826 + } + }, + "tree_data": { + "inputs": [ + [ + "c" + ], + [ + "d" + ], + [ + "e" + ], + [ + "f" + ], + [ + "g" + ], + [ + "h" + ], + [ + "i", + "c" + ], + [ + "j", + "d" + ], + [ + "k", + "e" + ], + [ + "l", + "f" + ], + [ + "m", + "g" + ], + [ + "n", + "h" + ], + [ + "o", + "p", + "i", + "j" + ], + [ + "q", + "r", + "p", + "k" + ], + [ + "s", + "t", + "r", + "l" + ], + [ + "u", + "v", + "t", + "m" + ], + [ + "w", + "x", + "v", + "n" + ], + [ + "y", + "z", + "o", + "q" + ], + [ + "A", + "B", + "z", + "s" + ], + [ + "C", + "D", + "B", + "u" + ], + [ + "E", + "F", + "D", + "w" + ], + [ + "G", + "H", + "F", + "x" + ], + [ + "I", + "J", + "y", + "A" + ], + [ + "K", + "L", + "J", + "C" + ], + [ + "M", + "N", + "L", + "E" + ], + [ + "O", + "P", + "N", + "G" + ], + [ + "Q", + "R", + "P", + "H" + ], + [ + "a", + "S", + "T", + "I" + ], + [ + "S", + "U", + "V", + "K" + ], + [ + "U", + "W", + "X", + "M" + ], + [ + "W", + "Y", + "Z", + "O" + ], + [ + "Y", + "\u00c0", + "\u00c1", + "Q" + ], + [ + "\u00c0", + "b", + "\u00c2", + "R" + ], + [ + "\u00c3" + ], + [ + "\u00c4" + ], + [ + "\u00c5" + ], + [ + "\u00c6" + ], + [ + "\u00c7" + ], + [ + "\u00c8" + ], + [ + "\u00c9", + "\u00c3" + ], + [ + "\u00ca", + "\u00c4" + ], + [ + "\u00cb", + "\u00c5" + ], + [ + "\u00cc", + "\u00c6" + ], + [ + "\u00cd", + "\u00c7" + ], + [ + "\u00ce", + "\u00c8" + ], + [ + "\u00cf", + "\u00d0", + "\u00c9", + "\u00ca" + ], + [ + "\u00d1", + "\u00d2", + "\u00d0", + "\u00cb" + ], + [ + "\u00d3", + "\u00d4", + "\u00d2", + "\u00cc" + ], + [ + "\u00d5", + "\u00d6", + "\u00d4", + "\u00cd" + ], + [ + "\u00d7", + "\u00d8", + "\u00d6", + "\u00ce" + ], + [ + "\u00d9", + "\u00da", + "\u00cf", + "\u00d1" + ], + [ + "\u00db", + "\u00dc", + "\u00da", + "\u00d3" + ], + [ + "\u00dd", + "\u00de", + "\u00dc", + "\u00d5" + ], + [ + "\u00df", + "\u00e0", + "\u00de", + "\u00d7" + ], + [ + "\u00e1", + "\u00e2", + "\u00e0", + "\u00d8" + ], + [ + "T", + "\u00e3", + "\u00d9", + "\u00db" + ], + [ + "V", + "\u00e4", + "\u00e3", + "\u00dd" + ], + [ + "X", + "\u00e5", + "\u00e4", + "\u00df" + ], + [ + "Z", + "\u00e6", + "\u00e5", + "\u00e1" + ], + [ + "\u00c1", + "\u00c2", + "\u00e6", + "\u00e2" + ] + ], + "output": [ + "a", + "b" + ], + "size_dict": [ + [ + "a", + 1 + ], + [ + "b", + 1 + ], + [ + "c", + 2 + ], + [ + "d", + 2 + ], + [ + "e", + 2 + ], + [ + "f", + 2 + ], + [ + "g", + 2 + ], + [ + "h", + 2 + ], + [ + "i", + 2 + ], + [ + "j", + 2 + ], + [ + "k", + 2 + ], + [ + "l", + 2 + ], + [ + "m", + 2 + ], + [ + "n", + 2 + ], + [ + "o", + 2 + ], + [ + "p", + 2 + ], + [ + "q", + 2 + ], + [ + "r", + 2 + ], + [ + "s", + 2 + ], + [ + "t", + 2 + ], + [ + "u", + 2 + ], + [ + "v", + 2 + ], + [ + "w", + 2 + ], + [ + "x", + 2 + ], + [ + "y", + 2 + ], + [ + "z", + 2 + ], + [ + "A", + 2 + ], + [ + "B", + 2 + ], + [ + "C", + 2 + ], + [ + "D", + 2 + ], + [ + "E", + 2 + ], + [ + "F", + 2 + ], + [ + "G", + 2 + ], + [ + "H", + 2 + ], + [ + "I", + 2 + ], + [ + "J", + 2 + ], + [ + "K", + 2 + ], + [ + "L", + 2 + ], + [ + "M", + 2 + ], + [ + "N", + 2 + ], + [ + "O", + 2 + ], + [ + "P", + 2 + ], + [ + "Q", + 2 + ], + [ + "R", + 2 + ], + [ + "S", + 3 + ], + [ + "T", + 2 + ], + [ + "U", + 3 + ], + [ + "V", + 2 + ], + [ + "W", + 3 + ], + [ + "X", + 2 + ], + [ + "Y", + 3 + ], + [ + "Z", + 2 + ], + [ + "\u00c0", + 3 + ], + [ + "\u00c1", + 2 + ], + [ + "\u00c2", + 2 + ], + [ + "\u00c3", + 2 + ], + [ + "\u00c4", + 2 + ], + [ + "\u00c5", + 2 + ], + [ + "\u00c6", + 2 + ], + [ + "\u00c7", + 2 + ], + [ + "\u00c8", + 2 + ], + [ + "\u00c9", + 2 + ], + [ + "\u00ca", + 2 + ], + [ + "\u00cb", + 2 + ], + [ + "\u00cc", + 2 + ], + [ + "\u00cd", + 2 + ], + [ + "\u00ce", + 2 + ], + [ + "\u00cf", + 2 + ], + [ + "\u00d0", + 2 + ], + [ + "\u00d1", + 2 + ], + [ + "\u00d2", + 2 + ], + [ + "\u00d3", + 2 + ], + [ + "\u00d4", + 2 + ], + [ + "\u00d5", + 2 + ], + [ + "\u00d6", + 2 + ], + [ + "\u00d7", + 2 + ], + [ + "\u00d8", + 2 + ], + [ + "\u00d9", + 2 + ], + [ + "\u00da", + 2 + ], + [ + "\u00db", + 2 + ], + [ + "\u00dc", + 2 + ], + [ + "\u00dd", + 2 + ], + [ + "\u00de", + 2 + ], + [ + "\u00df", + 2 + ], + [ + "\u00e0", + 2 + ], + [ + "\u00e1", + 2 + ], + [ + "\u00e2", + 2 + ], + [ + "\u00e3", + 2 + ], + [ + "\u00e4", + 2 + ], + [ + "\u00e5", + 2 + ], + [ + "\u00e6", + 2 + ] + ], + "path": [ + [ + 1, + 7 + ], + [ + 10, + 58 + ], + [ + 0, + 5 + ], + [ + 55, + 56 + ], + [ + 0, + 4 + ], + [ + 6, + 54 + ], + [ + 52, + 53 + ], + [ + 9, + 52 + ], + [ + 0, + 3 + ], + [ + 4, + 50 + ], + [ + 48, + 49 + ], + [ + 6, + 48 + ], + [ + 9, + 47 + ], + [ + 0, + 2 + ], + [ + 2, + 45 + ], + [ + 0, + 1 + ], + [ + 0, + 43 + ], + [ + 41, + 42 + ], + [ + 2, + 41 + ], + [ + 1, + 40 + ], + [ + 0, + 39 + ], + [ + 37, + 38 + ], + [ + 0, + 37 + ], + [ + 0, + 36 + ], + [ + 0, + 35 + ], + [ + 1, + 2 + ], + [ + 32, + 33 + ], + [ + 1, + 2 + ], + [ + 30, + 31 + ], + [ + 4, + 10 + ], + [ + 13, + 29 + ], + [ + 3, + 8 + ], + [ + 26, + 27 + ], + [ + 3, + 7 + ], + [ + 9, + 25 + ], + [ + 23, + 24 + ], + [ + 12, + 23 + ], + [ + 3, + 6 + ], + [ + 7, + 21 + ], + [ + 19, + 20 + ], + [ + 9, + 19 + ], + [ + 12, + 18 + ], + [ + 9, + 12 + ], + [ + 15, + 16 + ], + [ + 4, + 6 + ], + [ + 6, + 14 + ], + [ + 3, + 4 + ], + [ + 3, + 12 + ], + [ + 10, + 11 + ], + [ + 9, + 10 + ], + [ + 3, + 9 + ], + [ + 4, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "sliced_indices": [] + } +} diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json new file mode 100644 index 000000000..3910b96a0 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json @@ -0,0 +1,115 @@ +{ + "schema_version": 1, + "artifact_type": "tensorcircuit_ng_fig2_run", + "protocol": { + "paper": { + "title": "TensorCircuit-NG: A Universal, Composable, and Scalable Platform for Quantum Computing and Quantum Simulation", + "arxiv": "2602.14167", + "figure": 2, + "reported_hardware": "NVIDIA H200 141GB", + "reported_single_gpu_n32_l16_step_seconds": 17.86, + "reported_eight_gpu_n32_l16_step_seconds": 2.38 + }, + "hamiltonian": { + "paper_form": "-sum_i Z_i Z_{i+1} - sum_i X_i", + "implementation": "TensorNetwork FiniteTFI rotated-axis open-boundary MPO", + "coupling": 1.0, + "field": 1.0, + "boundary": "open" + }, + "initial_state": "plus", + "ansatz": { + "gate": "TensorCircuit-NG su4", + "gate_parameterization": "exp(-i * sum_k theta_k P_k), 15 nonidentity two-qubit Pauli generators", + "layout": "ladder: adjacent pairs (0,1), (1,2), ..., (nqubits-2,nqubits-1) per layer", + "nqubits": 6, + "depth": 3, + "parameter_shape": [ + 3, + 5, + 15 + ], + "parameter_count": 225, + "parameter_count_formula": "15 * depth * (nqubits - 1)" + }, + "numerics": { + "dtype": "complex64", + "seed": 42, + "initialization": "jax.random.normal(PRNGKey(seed)) * scale", + "parameter_scale": 0.1, + "precision": "highest", + "seed_boundary": "the paper does not state a Fig. 2 seed; seed 42 follows the upstream DistributedContractor VQE example" + }, + "contractor": { + "engine": "TensorCircuit-NG DistributedContractor", + "find_execute_workflow": true, + "max_repeats": 16, + "minimize": "combo-640", + "score": "FLOPS + 640 * WRITE", + "slicing_target_elements": 1048576, + "parallel_path_workers": 4, + "slicing_boundary": "the paper explicitly reports 2^29 elements for the 40-qubit case; this runner makes the value explicit for every run" + }, + "scope": "paper_fig2_protocol_not_matched_rzz_rx_baseline" + }, + "protocol_sha256": "e0ff2c9a0812093b9a925219cf970176902cfed21c2a5d66e383257cf5b48e2d", + "path_tree_stats": { + "slices": 1, + "flops": 9024, + "write": 1937, + "max_size_elements": 192, + "arithmetic_intensity": 4.658750645327826 + }, + "runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "jax_default_matmul_precision": "highest", + "tensor_network_jax_precision": "HIGHEST", + "python": "3.12.11 | packaged by Anaconda, Inc. | (main, Jun 5 2025, 13:09:17) [GCC 11.2.0]", + "slurm_job_id": "23027373", + "slurm_node": "e04r04", + "cuda_visible_devices": "0", + "versions": { + "tensorcircuit-ng": "1.8.0", + "tensornetwork-ng": "0.5.1", + "jax": "0.4.38", + "jaxlib": "0.4.38", + "cotengra": "0.8.2", + "numpy": "2.2.6" + } + }, + "timings": { + "first_value_and_grad_seconds": 22.750995699316263, + "first_call_includes_jit_compile": true, + "warm_value_and_grad_seconds": [ + 0.02017892338335514, + 0.01942443661391735, + 0.01930241659283638 + ], + "warm_value_and_grad_seconds_median": 0.01942443661391735, + "warm_value_and_grad_seconds_mad": 0.00012202002108097076 + }, + "memory": { + "peak_rss_bytes": 911855616, + "nvml_job_peak_mib": 266 + }, + "result": { + "energy": 1.8954486846923828, + "gradient_shape": [ + 3, + 5, + 15 + ], + "gradient_l2_norm": 18.2535343170166, + "gradient_sha256": "9f619aaa3d5bea9a57f516b1f79b309d76fbb897b55c149bd020d906999f0a1e" + }, + "correctness": { + "reference": "direct unsliced contraction of identical nodes", + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 3.288356822395144e-07, + "tolerance": 1e-05, + "tolerance_passed": true + } +} diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-smoke-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-smoke-findings.md new file mode 100644 index 000000000..d3c154c2e --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-fig2-smoke-findings.md @@ -0,0 +1,87 @@ +# TensorCircuit-NG Fig. 2 protocol and GPU smoke + +## What is now implemented + +The repository now has an executable two-stage implementation of the +TensorCircuit-NG paper's Fig. 2 protocol: + +- an adjacent-pair SU(4) ladder with `15 * L * (N - 1)` parameters; +- the open-boundary TFIM MPO used by the upstream + `DistributedContractor` VQE example; +- cotengra `max_repeats=640` and the exact `combo-640` ordering, equivalent + to minimizing `FLOPS + 640 * WRITE`; +- an explicit slicing target, defaulting to `2^29` elements; +- separate path search and value-gradient execution commands; and +- a checksum-bound JSON contraction-path artifact instead of the upstream + pickle format. + +The formal CLI defaults are `N=32,L=16`, which gives 7,440 parameters. The +paper reports 17.86 s per optimization step on one NVIDIA H200 (141 GB) and +2.38 s on eight H200s. Those paper values are reference values, not results +measured by this submission. + +Two boundaries are explicit in the manifest. The paper states `2^29` slicing +for its 40-qubit case, not specifically the 32-qubit case. It also does not +state the Fig. 2 random seed; this runner uses seed 42 and scale 0.1 from the +upstream `DistributedContractor` VQE example. + +Primary source: [TensorCircuit-NG, arXiv:2602.14167](https://arxiv.org/abs/2602.14167). + +## Audited GPU smoke + +Slurm job `23027373` completed with `COMPLETED/0:0` on node `e04r04`: + +| Field | Result | +|---|---:| +| GPU | NVIDIA GeForce RTX 3080, 10,240 MiB | +| Workload | `N=6,L=3`, 225 SU(4) parameters | +| Path policy | 16 repeats, `combo-640`, target `2^20`, 4 workers | +| Path search | 7.868 s | +| Slices / max intermediate | 1 / 192 elements | +| First value-gradient, including JIT | 22.751 s | +| Warm value-gradient median | 19.424 ms | +| Host peak RSS | 869.6 MiB | +| NVML job peak | 266 MiB | +| Energy absolute error vs direct contraction | `2.38e-7` | +| Gradient relative L2 error vs direct contraction | `3.29e-7` | + +The smoke is a structural and correctness gate, not a performance comparison +with either the H200 paper result or the matched RTX 3090 RZZ/RX baseline. +The smoke environment did not have KaHyPar, so cotengra used its basic-labels +fallback. It also warned that four path workers forked after JAX initialized; +the search completed, but the checked-in runner now defaults to one worker to +remove that deadlock risk. Search worker count is not part of the paper's +reported physics protocol. + +## Reproduce + +Write the formal protocol without importing GPU dependencies: + +```bash +vqetape-tc-fig2 manifest \ + --output outputs/tensorcircuit-ng-fig2-n32-l16-manifest.json +``` + +Search and execute in separate processes: + +```bash +JAX_DEFAULT_MATMUL_PRECISION=highest vqetape-tc-fig2 path \ + --nqubits 32 --depth 16 \ + --max-repeats 640 --target-size-log2 29 \ + --output fig2-path.json + +JAX_DEFAULT_MATMUL_PRECISION=highest vqetape-tc-fig2 run \ + --path fig2-path.json --warm-repeats 3 \ + --output fig2-run.json +``` + +The safe GPU smoke job is +[`../scripts/tensorcircuit-ng-fig2-rtx3090-smoke.sbatch`](../scripts/tensorcircuit-ng-fig2-rtx3090-smoke.sbatch). + +Raw evidence: + +- [`tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-path.json`](tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-path.json), SHA256 `6c49a22cbc3e5553e1b5da2a9c4dc8db9c53f6e31b8fd7b03501e1339a900fcf`; +- [`tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json`](tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json), SHA256 `bf2eaecb2943e971ce8dd45968e362de6056ab3ad95234f74275dbfccc7911d5`. + +The remaining scale gate is a full `N=32,L=16,max_repeats=640` execution on +hardware comparable to the paper. No such result is claimed here. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json new file mode 100644 index 000000000..75b64f6d4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json @@ -0,0 +1,244 @@ +{ + "schema_version": 1, + "implementation": { + "name": "TensorCircuit-NG", + "package": "tensorcircuit-ng", + "source_repository": "https://github.com/tensorcircuit/tensorcircuit-ng", + "official_example": "examples/benchmark_jax_vs_torch_vqe.py", + "versions": { + "tensorcircuit-ng": "1.8.0", + "jax": "0.4.38", + "jaxlib": "0.4.38", + "numpy": "2.2.6", + "omeco": "0.2.6", + "cotengra": "0.8.2" + } + }, + "protocol": { + "hamiltonian": "-sum_i Z_i Z_{i+1} - sum_i X_i", + "coupling": 1.0, + "field": 1.0, + "boundary": "open", + "initial_state": "plus", + "ansatz": "plus_then_rzz_rx", + "gate_order": "rzz_then_rx_per_layer", + "nqubits": 10, + "depth": 4, + "dtype": "complex64", + "parameter_shape": [ + 4, + 2, + 10 + ], + "active_parameter_count": 76, + "padding_parameter": "rzz[layer, nqubits - 1]", + "seed": 33, + "parameter_distribution": "numpy.default_rng.normal(loc=0, scale=0.1)", + "comparison_scope": "matched_rzz_rx_not_fig2_su4" + }, + "contractor": { + "name": "omeco", + "optimizer": "TreeSA", + "ntrials": 16, + "niters": 16, + "betas": [ + 0.1, + 0.13593563908785256, + 0.18478497974222907, + 0.251188643150958, + 0.34145488738336016, + 0.46415888336127786, + 0.6309573444801934, + 0.8576958985908941, + 1.1659144011798317, + 1.5848931924611134, + 2.1544346900318834, + 2.9286445646252357, + 3.981071705534973, + 5.411695265464638, + 7.3564225445964135, + 10.0 + ], + "score": { + "tc_weight": 1.0, + "sc_weight": 0.0, + "rw_weight": 64.0, + "sc_target": 20.0 + }, + "preprocessing": true, + "source": "TensorCircuit-NG examples/benchmark_jax_vs_torch_vqe.py", + "path_search_seconds": 0.028340710094198585, + "path_search_calls": 1 + }, + "runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "jax_default_matmul_precision": "highest", + "tensor_network_jax_precision": "HIGHEST", + "python": "3.12.11 | packaged by Anaconda, Inc. | (main, Jun 5 2025, 13:09:17) [GCC 11.2.0]", + "pid": 50346, + "slurm_job_id": "23020496", + "slurm_node": "c05r05", + "cuda_visible_devices": "0" + }, + "timings": { + "compile_seconds": 17.77991282311268, + "compile_includes_path_search": true, + "first_execute_seconds": 0.22626981395296752, + "warm_seconds": [ + 0.002868367126211524, + 0.0027173080015927553, + 0.0026577371172606945, + 0.0026507580187171698, + 0.0026508979499340057 + ], + "warm_seconds_median": 0.0026577371172606945, + "warm_seconds_mad": 6.979098543524742e-06 + }, + "memory": { + "peak_rss_bytes": 693432320, + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 993272, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 131096 + }, + "nvml_job_peak_mib": 272 + }, + "result": { + "energy": -9.808087348937988, + "gradient": [ + [ + [ + -0.46896496415138245, + -0.4719504714012146, + -0.24662387371063232, + -0.07784725725650787, + -0.14211171865463257, + -0.17730164527893066, + -0.0908064991235733, + 0.4569324851036072, + 0.31365132331848145, + 0.0 + ], + [ + -0.039775580167770386, + 0.01096498966217041, + -0.009168803691864014, + -0.06426870822906494, + 0.1547035127878189, + 0.06592056155204773, + -0.08355310559272766, + -0.05308102071285248, + -0.23858001828193665, + -0.17688769102096558 + ] + ], + [ + [ + -0.6360302567481995, + -0.44137126207351685, + -0.2909063398838043, + -0.20150922238826752, + -0.07731971144676208, + -0.2488023191690445, + -0.19054222106933594, + 0.5278799533843994, + 0.2922179102897644, + 0.0 + ], + [ + 0.0035268962383270264, + 0.004425376653671265, + 0.07154664397239685, + 0.15612773597240448, + 0.14757108688354492, + -0.039509475231170654, + 0.05187863111495972, + 0.08914604783058167, + -0.41748401522636414, + -0.3584827780723572 + ] + ], + [ + [ + -0.48680853843688965, + -0.3873019814491272, + -0.24821975827217102, + -0.20858699083328247, + 0.012510836124420166, + 0.05888688564300537, + -0.10480836033821106, + 0.4198674261569977, + 0.2853374183177948, + 0.0 + ], + [ + 0.06539463996887207, + 0.033189088106155396, + 0.14355355501174927, + 0.20173126459121704, + 0.11944946646690369, + -0.004031866788864136, + 0.00824311375617981, + -0.054830968379974365, + -0.41754359006881714, + -0.2674880027770996 + ] + ], + [ + [ + -0.41001424193382263, + -0.2515496015548706, + -0.16888171434402466, + -0.3389284014701843, + -0.003902435302734375, + 0.030506014823913574, + -0.03169944882392883, + 0.5763921737670898, + 0.4581078290939331, + 0.0 + ], + [ + 0.1725865751504898, + 0.23259615898132324, + 0.09938427805900574, + 0.16793350875377655, + 0.11280328035354614, + -0.03761252760887146, + 0.05773843824863434, + -0.1922496259212494, + -0.5106222629547119, + -0.2623397707939148 + ] + ] + ], + "gradient_l2_norm": 2.255448341369629 + }, + "reference": { + "path": "/work/share/giggleliu/vqetape_issue33_20260730/tcng-baseline-20260730/issue33/outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json", + "sha256": "07fc84c765d8f0d8d070c114e08cfe0886ae0a8ff2e8270905c915164a2ae93b", + "energy": -9.808083534240723, + "gradient_l2_norm": 2.255447493445561 + }, + "correctness": { + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 6.190737338368928e-07, + "energy_tolerance": 1e-05, + "gradient_tolerance": 1e-05, + "tolerance_passed": true + }, + "objective": { + "expected_vqe_steps": 100, + "definition": "compile + first_execute + expected_steps * warm_median", + "seconds": 18.27195634879172 + } +} diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-findings.md new file mode 100644 index 000000000..aed68442c --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-findings.md @@ -0,0 +1,122 @@ +# VQETape AD-Aware Contraction Findings + +## Scope + +This experiment evaluates exact differentiated spatial-transfer VQE +programs for the open-boundary TFIM RZZ–RX ansatz. It adds static +reconstruction of every forward and reverse einsum, differentiated cost +accounting, a recomputing custom VJP, and fixed-path comparisons of default, +rematerialized, segmented, and explicit adjoints. + +Every timing candidate ran in a fresh process. Both audited workloads use +`complex64`, depth two, a 2 GiB selection budget, five synchronized warm +calls, and a 100-call selection horizon. Raw data are in +`vqetape-ad-aware-report-n8-d2.json` and +`vqetape-ad-aware-report-n12-d2.json`. + +## Correctness and candidate coverage + +At eight qubits, all 78 spatial candidates were valid, including all 21 +explicit-VJP candidates. + +At twelve qubits, 85 of 93 spatial candidates were valid. Eight candidates +sharing the same `random-greedy`, width-two path missed the `complex64` +energy tolerance by \(1.1444\times10^{-5}\), slightly above the configured +\(10^{-5}\) threshold. This affected default, remat, and explicit policies +equally, so it is a path-conditioning result rather than evidence of a +custom-VJP inconsistency. The remaining 22 explicit candidates were valid. + +| workload | max explicit energy error | max explicit relative gradient error | +|---|---:|---:| +| \(n=8,L=2\) | \(7.15\times10^{-6}\) | \(1.57\times10^{-6}\) | +| \(n=12,L=2\) | \(9.54\times10^{-6}\) | \(4.43\times10^{-6}\) | + +The explicit complex contraction VJP was independently checked against +`jax.vjp` for matrix, scalar, and multistep contractions. JAX's complex +cotangent convention uses the algebraic transpose for these holomorphic +einsums; inserting a Hermitian conjugation would be incorrect. + +## Does the static AD score predict warm runtime? + +Spearman correlations were calculated separately over valid spatial +candidates: + +| workload | candidates | forward FLOPs vs warm | forward+backward FLOPs vs warm | AD score vs warm | role residual vs compiler temp | +|---|---:|---:|---:|---:|---:| +| \(n=8,L=2\) | 78 | -0.227 (p=0.045) | -0.227 (p=0.045) | -0.057 (p=0.620) | 0.479 (p=\(9.21\times10^{-6}\)) | +| \(n=12,L=2\) | 85 | -0.045 (p=0.686) | -0.045 (p=0.686) | -0.021 (p=0.845) | 0.551 (p=\(4.59\times10^{-8}\)) | + +The first deterministic AD score did **not** improve warm-runtime ranking +over forward FLOPs. It therefore fails the pruning gate and remains +diagnostic only. Forward and total differentiated FLOPs have the same ranks +because generated reverse work is nearly proportional to forward work in +this family. Larger blocked programs can also have more FLOPs while reducing +scan overhead, explaining the weak or negative runtime correlation. + +Residual size is a materially better signal for compiler temporary memory, +although 0.48–0.55 correlation is not accurate enough to replace +measurement. + +## Explicit VJP versus identical default paths + +Only pairs with identical strategy, block width, unroll, and serialized paths +were compared. A ratio below one favors explicit VJP. + +| workload | pairs | median compile ratio | compile wins | median warm ratio | warm wins | median temp ratio | temp wins | median tape ratio | tape wins | +|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| \(n=8,L=2\) | 21 | 0.876 | 14 | 1.200 | 10 | 0.871 | 14 (+2 ties) | 0.290 | 21 | +| \(n=12,L=2\) | 22 | 1.129 | 8 | 1.430 | 7 | 0.610 | 18 | 0.280 | 22 | + +The custom reverse program reduced logical tape in every valid pair. +Compiler temporary memory also improved in most pairs, especially at twelve +qubits. Warm runtime did not improve in the median because recomputing the +trace and emitting explicit reverse einsums often costs more than JAX's fused +transpose. + +Nevertheless, explicit VJP strictly dominated its paired default in all +compile/warm/temp metrics for six eight-qubit structures and one +twelve-qubit structure. In the full three-objective spatial Pareto sets: + +- 5 of 14 eight-qubit frontier candidates used explicit VJP; +- 3 of 14 twelve-qubit frontier candidates used explicit VJP. + +Explicit VJP therefore passes the nondominance gate as a search candidate, +but not a universal-default gate. + +## End-of-horizon selection + +For \(T_{\mathrm{compile}}+100T_{\mathrm{warm}}\): + +| workload | selected spatial program | compile | warm | objective | compiler temp | logical tape | +|---|---|---:|---:|---:|---:|---:| +| \(n=8,L=2\) | random-greedy, b1, remat, u1 | 1.604 s | 1.033 ms | 1.707 s | 12,296 B | 5,472 B | +| \(n=12,L=2\) | greedy, b1, explicit, u1 | 2.044 s | 1.559 ms | 2.200 s | 18,792 B | 11,056 B | + +The best exact global-MPO controls required 6.254 s and 13.365 s for the same +objective. The selected spatial programs improved it by 3.66x and 6.08x. + +The fastest warm spatial programs were: + +| workload | fastest spatial program | compile | warm | MAD | +|---|---|---:|---:|---:| +| \(n=8,L=2\) | random-greedy, b2, explicit, u3 | 5.599 s | 0.390 ms | 0.018 ms | +| \(n=12,L=2\) | greedy, b4, explicit, u2 | 10.393 s | 0.704 ms | 0.008 ms | + +At eight qubits, the fastest explicit spatial kernel was faster than the best +global-MPO warm kernel in this run (0.390 versus 0.534 ms). At twelve qubits +it remained about 7% slower (0.704 versus 0.655 ms). Cross-run comparisons +with earlier reports are not used as promotion evidence. + +## Decision + +1. Retain explicit VJP as a measured candidate: it is exact, greatly reduces + logical tape, commonly reduces compiler temporary memory, appears on both + Pareto fronts, and wins the twelve-qubit 100-call selection. +2. Do not make explicit VJP the universal default: median warm runtime is + worse and benefit depends on path, block width, and unroll. +3. Do not use the first static AD score for pruning. +4. Retain differentiated residual and traffic analysis; residual size has a + repeatable positive relationship with compiler temporary memory. +5. Proceed to exact symmetry compression of recurrent boundaries. Any later + learned cost model needs more workloads and compiler features rather than + refitting these two reports. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-report-n12-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-report-n12-d2.json new file mode 100644 index 000000000..c715ef1b3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-report-n12-d2.json @@ -0,0 +1,56120 @@ +{ + "request": { + "spec": { + "nqubits": 12, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0440060420005466, + "first_execute_seconds": 0.012378333001834108, + "warm_seconds_median": 0.0015585420005663764, + "warm_seconds_mad": 0.0002883749984903261, + "peak_rss_bytes": 254312448, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.043615521152289e-06, + "valid": true, + "failure": null, + "worker_pid": 82710, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892029404640198, + -0.13894060254096985, + -0.17407837510108948, + -0.2856510281562805, + -0.044431693851947784, + -0.2880015969276428, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313431896269321, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603391289711, + 0.04319676011800766, + 0.01927882805466652, + -0.15224729478359222, + -0.2090643048286438, + -0.02294287271797657, + 0.1936868131160736, + 0.18352201581001282, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275574654340744, + -0.2481684386730194, + -0.18776406347751617, + -0.22483721375465393, + -0.16548436880111694, + -0.1541452258825302, + 0.04240685701370239, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800739586353302, + 0.012208204716444016, + 0.08998114615678787, + 0.17996235191822052, + 0.04348650202155113, + -0.079090416431427, + -0.09540701657533646, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 18792 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 48 + ], + [ + 2, + 47 + ], + [ + 2, + 46 + ], + [ + 2, + 45 + ], + [ + 2, + 44 + ], + [ + 2, + 43 + ], + [ + 2, + 42 + ], + [ + 2, + 41 + ], + [ + 2, + 40 + ], + [ + 2, + 39 + ], + [ + 2, + 38 + ], + [ + 0, + 84 + ], + [ + 0, + 93 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 13, + 25 + ], + [ + 14, + 24 + ], + [ + 14, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 22 + ], + [ + 1, + 44 + ], + [ + 1, + 43 + ], + [ + 1, + 42 + ], + [ + 1, + 41 + ], + [ + 1, + 40 + ], + [ + 1, + 39 + ], + [ + 1, + 38 + ], + [ + 1, + 37 + ], + [ + 1, + 36 + ], + [ + 1, + 35 + ], + [ + 0, + 34 + ], + [ + 0, + 43 + ], + [ + 18, + 42 + ], + [ + 19, + 54 + ], + [ + 18, + 40 + ], + [ + 28, + 52 + ], + [ + 28, + 48 + ], + [ + 36, + 47 + ], + [ + 27, + 49 + ], + [ + 44, + 48 + ], + [ + 0, + 44 + ], + [ + 17, + 46 + ], + [ + 43, + 45 + ], + [ + 8, + 42 + ], + [ + 32, + 43 + ], + [ + 41, + 42 + ], + [ + 8, + 32 + ], + [ + 8, + 31 + ], + [ + 38, + 39 + ], + [ + 8, + 30 + ], + [ + 8, + 29 + ], + [ + 35, + 36 + ], + [ + 8, + 28 + ], + [ + 8, + 27 + ], + [ + 32, + 33 + ], + [ + 8, + 26 + ], + [ + 8, + 25 + ], + [ + 29, + 30 + ], + [ + 7, + 24 + ], + [ + 14, + 28 + ], + [ + 21, + 27 + ], + [ + 25, + 26 + ], + [ + 20, + 25 + ], + [ + 13, + 24 + ], + [ + 6, + 23 + ], + [ + 0, + 18 + ], + [ + 5, + 21 + ], + [ + 10, + 20 + ], + [ + 15, + 19 + ], + [ + 10, + 18 + ], + [ + 5, + 17 + ], + [ + 0, + 16 + ], + [ + 3, + 14 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 10, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 13.298998250000295, + "first_execute_seconds": 0.009347834002255695, + "warm_seconds_median": 0.0006552080012625083, + "warm_seconds_mad": 7.212500349851325e-05, + "peak_rss_bytes": 284246016, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.119870555964857e-06, + "valid": true, + "failure": null, + "worker_pid": 74748, + "parent_pid": 74566, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293009757995605, + -0.04737122356891632, + -0.058920204639434814, + -0.13894060254096985, + -0.17407837510108948, + -0.2856507897377014, + -0.04443167895078659, + -0.28800150752067566, + -0.3262191414833069, + -0.3871099054813385, + 0.0 + ], + [ + -0.011313307099044323, + 0.0018171895062550902, + -0.05270252004265785, + -0.07646030932664871, + 0.04319678992033005, + 0.019278597086668015, + -0.15224720537662506, + -0.2090645432472229, + -0.02294285222887993, + 0.1936868131160736, + 0.18352192640304565, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275581359863281, + -0.24816825985908508, + -0.18776383996009827, + -0.224837064743042, + -0.16548442840576172, + -0.15414515137672424, + 0.0424068309366703, + -0.16628672182559967, + -0.25748705863952637, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800739586353302, + 0.012208263389766216, + 0.08998117595911026, + 0.17996211349964142, + 0.04348641261458397, + -0.07909050583839417, + -0.09540712088346481, + 0.013694342225790024, + 0.15580447018146515, + 0.10954705625772476, + 0.039108406752347946 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 47688 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34576, + "contractions_per_energy": 1, + "estimated_energy_flops": 34576, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48848, + "recomputable_bytes": 47552, + "bytes_by_category": { + "primitive:dot_general": 35136, + "jitted:_diag": 6688, + "primitive:conj": 2368, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.390504458999203, + "first_execute_seconds": 0.004263916998752393, + "warm_seconds_median": 0.0008043339985306375, + "warm_seconds_mad": 6.883399692014791e-05, + "peak_rss_bytes": 224821248, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75415, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 45600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.562183750000258, + "first_execute_seconds": 0.01156749999790918, + "warm_seconds_median": 0.0007545000007667113, + "warm_seconds_mad": 1.1459000234026462e-05, + "peak_rss_bytes": 268664832, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75471, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 54560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.123383084002853, + "first_execute_seconds": 0.018173417000070913, + "warm_seconds_median": 0.005519540998648154, + "warm_seconds_mad": 0.002152165998268174, + "peak_rss_bytes": 192282624, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75871, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.329382791998796, + "first_execute_seconds": 0.004230167000059737, + "warm_seconds_median": 0.0007965829972818028, + "warm_seconds_mad": 2.0749997929669917e-05, + "peak_rss_bytes": 244318208, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 76238, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 48288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 37024, + "recomputable_bytes": 36496, + "bytes_by_category": { + "primitive:scan": 33664, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.256508583999675, + "first_execute_seconds": 0.00890100000106031, + "warm_seconds_median": 0.0009426249998796266, + "warm_seconds_mad": 7.249999907799065e-05, + "peak_rss_bytes": 197328896, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.967510403550911e-06, + "valid": true, + "failure": null, + "worker_pid": 76641, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293032854795456, + -0.047371141612529755, + -0.05892030522227287, + -0.13894066214561462, + -0.17407843470573425, + -0.28565093874931335, + -0.0444316640496254, + -0.2880016267299652, + -0.32621926069259644, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313371360301971, + 0.001817308715544641, + -0.05270246043801308, + -0.0764603391289711, + 0.043196626007556915, + 0.019278664141893387, + -0.15224725008010864, + -0.20906445384025574, + -0.022942908108234406, + 0.19368690252304077, + 0.18352201581001282, + 0.059221938252449036 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275575399398804, + -0.2481684386730194, + -0.18776413798332214, + -0.22483722865581512, + -0.1654844582080841, + -0.15414531528949738, + 0.042406901717185974, + -0.16628685593605042, + -0.2574872374534607, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800732880830765, + 0.012208264321088791, + 0.08998111635446548, + 0.1799621731042862, + 0.04348644241690636, + -0.07909032702445984, + -0.09540719538927078, + 0.013694453984498978, + 0.1558045595884323, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 22760 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.558431708999706, + "first_execute_seconds": 0.00635162500111619, + "warm_seconds_median": 0.0007731669975328259, + "warm_seconds_mad": 4.179199822829105e-05, + "peak_rss_bytes": 249430016, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 78539, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 54880 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38048, + "recomputable_bytes": 37168, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 21.052479250000033, + "first_execute_seconds": 0.04467779100014013, + "warm_seconds_median": 0.0014505420003843028, + "warm_seconds_mad": 0.0001457920006942004, + "peak_rss_bytes": 195723264, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 78956, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40728 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38048, + "recomputable_bytes": 37168, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4702192090007884, + "first_execute_seconds": 0.004211291998217348, + "warm_seconds_median": 0.0008889589989848901, + "warm_seconds_mad": 3.308399755042046e-05, + "peak_rss_bytes": 249905152, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82511, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0440060420005466, + "first_execute_seconds": 0.012378333001834108, + "warm_seconds_median": 0.0015585420005663764, + "warm_seconds_mad": 0.0002883749984903261, + "peak_rss_bytes": 254312448, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.043615521152289e-06, + "valid": true, + "failure": null, + "worker_pid": 82710, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892029404640198, + -0.13894060254096985, + -0.17407837510108948, + -0.2856510281562805, + -0.044431693851947784, + -0.2880015969276428, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313431896269321, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603391289711, + 0.04319676011800766, + 0.01927882805466652, + -0.15224729478359222, + -0.2090643048286438, + -0.02294287271797657, + 0.1936868131160736, + 0.18352201581001282, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275574654340744, + -0.2481684386730194, + -0.18776406347751617, + -0.22483721375465393, + -0.16548436880111694, + -0.1541452258825302, + 0.04240685701370239, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800739586353302, + 0.012208204716444016, + 0.08998114615678787, + 0.17996235191822052, + 0.04348650202155113, + -0.079090416431427, + -0.09540701657533646, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 18792 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.2431777080018946, + "first_execute_seconds": 0.004644916996767279, + "warm_seconds_median": 0.0009126670011028182, + "warm_seconds_mad": 3.6458000977290794e-05, + "peak_rss_bytes": 198819840, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82806, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.876347582998278, + "first_execute_seconds": 0.004679834000853589, + "warm_seconds_median": 0.0008618329993623774, + "warm_seconds_mad": 2.041700281552039e-05, + "peak_rss_bytes": 201129984, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82915, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.812651583000843, + "first_execute_seconds": 0.004033334000268951, + "warm_seconds_median": 0.0007408329984173179, + "warm_seconds_mad": 3.6833000194747e-05, + "peak_rss_bytes": 231931904, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 84971, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 70120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.966150083000684, + "first_execute_seconds": 0.008414750001975335, + "warm_seconds_median": 0.0008459580021735746, + "warm_seconds_mad": 6.775000292691402e-05, + "peak_rss_bytes": 218349568, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 85382, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 58136 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.393348707999394, + "first_execute_seconds": 0.010449249999510357, + "warm_seconds_median": 0.000703875000908738, + "warm_seconds_mad": 8.166000043274835e-06, + "peak_rss_bytes": 240353280, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.42957114269363e-06, + "valid": true, + "failure": null, + "worker_pid": 86671, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293018698692322, + -0.047371141612529755, + -0.05892030522227287, + -0.1389404833316803, + -0.17407824099063873, + -0.285650372505188, + -0.04443136975169182, + -0.28800147771835327, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313186958432198, + 0.0018172938143834472, + -0.052702490240335464, + -0.0764605775475502, + 0.043196581304073334, + 0.019278589636087418, + -0.15224717557430267, + -0.20906418561935425, + -0.02294279634952545, + 0.19368672370910645, + 0.18352186679840088, + 0.05922198295593262 + ] + ], + [ + [ + 0.28252747654914856, + -0.07275573909282684, + -0.2481682300567627, + -0.18776388466358185, + -0.22483700513839722, + -0.16548438370227814, + -0.1541450321674347, + 0.0424070842564106, + -0.1662866622209549, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177374631166458, + -0.09800751507282257, + 0.01220835279673338, + 0.08998126536607742, + 0.1799621433019638, + 0.04348655790090561, + -0.07908996939659119, + -0.0954069271683693, + 0.013694558292627335, + 0.1558043658733368, + 0.10954702645540237, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 91288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.396997833002388, + "first_execute_seconds": 0.003559833003237145, + "warm_seconds_median": 0.0008666250032547396, + "warm_seconds_mad": 0.0001555420021759346, + "peak_rss_bytes": 251887616, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87284, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 45344 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 38912, + "recomputable_bytes": 38512, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 1152, + "primitive:stack": 448, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.294932124998013, + "first_execute_seconds": 0.0037496660006581806, + "warm_seconds_median": 0.0009790830008569174, + "warm_seconds_mad": 0.0001418329993612133, + "peak_rss_bytes": 287129600, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87377, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 48928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 38912, + "recomputable_bytes": 38512, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 1152, + "primitive:stack": 448, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.075406625001051, + "first_execute_seconds": 0.02193208400058211, + "warm_seconds_median": 0.0010034160004579462, + "warm_seconds_mad": 0.00019816600251942873, + "peak_rss_bytes": 209436672, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87881, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7056, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 11, + 34 + ], + [ + 10, + 32 + ], + [ + 7, + 28 + ], + [ + 5, + 25 + ], + [ + 14, + 67 + ], + [ + 12, + 64 + ], + [ + 7, + 24 + ], + [ + 2, + 18 + ], + [ + 8, + 57 + ], + [ + 11, + 59 + ], + [ + 9, + 56 + ], + [ + 3, + 15 + ], + [ + 7, + 52 + ], + [ + 2, + 12 + ], + [ + 7, + 50 + ], + [ + 8, + 50 + ], + [ + 1, + 8 + ], + [ + 52, + 98 + ], + [ + 4, + 44 + ], + [ + 3, + 108 + ], + [ + 3, + 42 + ], + [ + 72, + 84 + ], + [ + 63, + 73 + ], + [ + 3, + 41 + ], + [ + 0, + 97 + ], + [ + 14, + 81 + ], + [ + 49, + 59 + ], + [ + 0, + 2 + ], + [ + 62, + 72 + ], + [ + 37, + 80 + ], + [ + 0, + 1 + ], + [ + 41, + 51 + ], + [ + 3, + 77 + ], + [ + 35, + 71 + ], + [ + 43, + 51 + ], + [ + 69, + 82 + ], + [ + 43, + 50 + ], + [ + 3, + 65 + ], + [ + 24, + 56 + ], + [ + 38, + 68 + ], + [ + 36, + 42 + ], + [ + 36, + 85 + ], + [ + 12, + 23 + ], + [ + 42, + 50 + ], + [ + 14, + 23 + ], + [ + 8, + 64 + ], + [ + 29, + 59 + ], + [ + 38, + 45 + ], + [ + 27, + 51 + ], + [ + 37, + 55 + ], + [ + 18, + 38 + ], + [ + 14, + 21 + ], + [ + 33, + 37 + ], + [ + 7, + 38 + ], + [ + 3, + 10 + ], + [ + 19, + 34 + ], + [ + 15, + 68 + ], + [ + 26, + 65 + ], + [ + 6, + 13 + ], + [ + 0, + 68 + ], + [ + 10, + 14 + ], + [ + 15, + 19 + ], + [ + 0, + 63 + ], + [ + 15, + 18 + ], + [ + 0, + 4 + ], + [ + 11, + 22 + ], + [ + 7, + 15 + ], + [ + 9, + 22 + ], + [ + 0, + 15 + ], + [ + 1, + 4 + ], + [ + 22, + 55 + ], + [ + 27, + 49 + ], + [ + 13, + 15 + ], + [ + 17, + 52 + ], + [ + 4, + 18 + ], + [ + 3, + 4 + ], + [ + 0, + 27 + ], + [ + 8, + 32 + ], + [ + 11, + 22 + ], + [ + 11, + 18 + ], + [ + 9, + 22 + ], + [ + 5, + 28 + ], + [ + 7, + 35 + ], + [ + 20, + 35 + ], + [ + 8, + 31 + ], + [ + 17, + 24 + ], + [ + 25, + 38 + ], + [ + 6, + 21 + ], + [ + 34, + 38 + ], + [ + 2, + 34 + ], + [ + 16, + 35 + ], + [ + 34, + 35 + ], + [ + 26, + 33 + ], + [ + 8, + 21 + ], + [ + 0, + 7 + ], + [ + 17, + 31 + ], + [ + 6, + 31 + ], + [ + 1, + 6 + ], + [ + 22, + 29 + ], + [ + 23, + 25 + ], + [ + 0, + 22 + ], + [ + 9, + 14 + ], + [ + 8, + 23 + ], + [ + 14, + 22 + ], + [ + 17, + 18 + ], + [ + 11, + 22 + ], + [ + 16, + 21 + ], + [ + 1, + 20 + ], + [ + 5, + 19 + ], + [ + 0, + 16 + ], + [ + 12, + 16 + ], + [ + 5, + 16 + ], + [ + 3, + 7 + ], + [ + 7, + 10 + ], + [ + 2, + 11 + ], + [ + 7, + 12 + ], + [ + 3, + 11 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 3, + 7 + ], + [ + 0, + 7 + ], + [ + 1, + 4 + ], + [ + 3, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 13.382889083997725, + "first_execute_seconds": 0.009163708000414772, + "warm_seconds_median": 0.0010399580023658928, + "warm_seconds_mad": 0.0003550829969753977, + "peak_rss_bytes": 251609088, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.130558945334257e-06, + "valid": true, + "failure": null, + "worker_pid": 75130, + "parent_pid": 74566, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.525873601436615, + 0.072930246591568, + -0.04737117886543274, + -0.05892015993595123, + -0.13894060254096985, + -0.17407839000225067, + -0.2856508195400238, + -0.04443160444498062, + -0.28800150752067566, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131313107907772, + 0.0018173385178670287, + -0.0527024008333683, + -0.07646039873361588, + 0.0431966558098793, + 0.019278686493635178, + -0.15224729478359222, + -0.20906439423561096, + -0.022942887619137764, + 0.19368678331375122, + 0.18352189660072327, + 0.05922207236289978 + ] + ], + [ + [ + 0.28252774477005005, + -0.0727555900812149, + -0.24816827476024628, + -0.18776383996009827, + -0.22483710944652557, + -0.16548451781272888, + -0.15414510667324066, + 0.042406823486089706, + -0.16628676652908325, + -0.25748714804649353, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800736606121063, + 0.012208233587443829, + 0.08998105674982071, + 0.17996220290660858, + 0.04348637908697128, + -0.07909038662910461, + -0.09540718048810959, + 0.013694461435079575, + 0.15580451488494873, + 0.1095469668507576, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 47560 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 35920, + "contractions_per_energy": 1, + "estimated_energy_flops": 35920, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 144, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 1152, + "residual_profile": { + "residual_count": 698, + "total_bytes": 46608, + "recomputable_bytes": 45312, + "bytes_by_category": { + "primitive:dot_general": 32800, + "jitted:_diag": 6688, + "primitive:conj": 2208, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 640, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 48 + ], + [ + 2, + 47 + ], + [ + 2, + 46 + ], + [ + 2, + 45 + ], + [ + 2, + 44 + ], + [ + 2, + 43 + ], + [ + 2, + 42 + ], + [ + 2, + 41 + ], + [ + 2, + 40 + ], + [ + 2, + 39 + ], + [ + 2, + 38 + ], + [ + 0, + 84 + ], + [ + 0, + 93 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 13, + 25 + ], + [ + 14, + 24 + ], + [ + 14, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 22 + ], + [ + 1, + 44 + ], + [ + 1, + 43 + ], + [ + 1, + 42 + ], + [ + 1, + 41 + ], + [ + 1, + 40 + ], + [ + 1, + 39 + ], + [ + 1, + 38 + ], + [ + 1, + 37 + ], + [ + 1, + 36 + ], + [ + 1, + 35 + ], + [ + 0, + 34 + ], + [ + 0, + 43 + ], + [ + 18, + 42 + ], + [ + 19, + 54 + ], + [ + 18, + 40 + ], + [ + 28, + 52 + ], + [ + 28, + 48 + ], + [ + 36, + 47 + ], + [ + 27, + 49 + ], + [ + 44, + 48 + ], + [ + 0, + 44 + ], + [ + 17, + 46 + ], + [ + 43, + 45 + ], + [ + 8, + 42 + ], + [ + 32, + 43 + ], + [ + 41, + 42 + ], + [ + 8, + 32 + ], + [ + 8, + 31 + ], + [ + 38, + 39 + ], + [ + 8, + 30 + ], + [ + 8, + 29 + ], + [ + 35, + 36 + ], + [ + 8, + 28 + ], + [ + 8, + 27 + ], + [ + 32, + 33 + ], + [ + 8, + 26 + ], + [ + 8, + 25 + ], + [ + 29, + 30 + ], + [ + 7, + 24 + ], + [ + 14, + 28 + ], + [ + 21, + 27 + ], + [ + 25, + 26 + ], + [ + 20, + 25 + ], + [ + 13, + 24 + ], + [ + 6, + 23 + ], + [ + 0, + 18 + ], + [ + 5, + 21 + ], + [ + 10, + 20 + ], + [ + 15, + 19 + ], + [ + 10, + 18 + ], + [ + 5, + 17 + ], + [ + 0, + 16 + ], + [ + 3, + 14 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 10, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 13.298998250000295, + "first_execute_seconds": 0.009347834002255695, + "warm_seconds_median": 0.0006552080012625083, + "warm_seconds_mad": 7.212500349851325e-05, + "peak_rss_bytes": 284246016, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.119870555964857e-06, + "valid": true, + "failure": null, + "worker_pid": 74748, + "parent_pid": 74566, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293009757995605, + -0.04737122356891632, + -0.058920204639434814, + -0.13894060254096985, + -0.17407837510108948, + -0.2856507897377014, + -0.04443167895078659, + -0.28800150752067566, + -0.3262191414833069, + -0.3871099054813385, + 0.0 + ], + [ + -0.011313307099044323, + 0.0018171895062550902, + -0.05270252004265785, + -0.07646030932664871, + 0.04319678992033005, + 0.019278597086668015, + -0.15224720537662506, + -0.2090645432472229, + -0.02294285222887993, + 0.1936868131160736, + 0.18352192640304565, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275581359863281, + -0.24816825985908508, + -0.18776383996009827, + -0.224837064743042, + -0.16548442840576172, + -0.15414515137672424, + 0.0424068309366703, + -0.16628672182559967, + -0.25748705863952637, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800739586353302, + 0.012208263389766216, + 0.08998117595911026, + 0.17996211349964142, + 0.04348641261458397, + -0.07909050583839417, + -0.09540712088346481, + 0.013694342225790024, + 0.15580447018146515, + 0.10954705625772476, + 0.039108406752347946 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 47688 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34576, + "contractions_per_energy": 1, + "estimated_energy_flops": 34576, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48848, + "recomputable_bytes": 47552, + "bytes_by_category": { + "primitive:dot_general": 35136, + "jitted:_diag": 6688, + "primitive:conj": 2368, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 16, + 73 + ], + [ + 20, + 76 + ], + [ + 14, + 69 + ], + [ + 16, + 70 + ], + [ + 4, + 23 + ], + [ + 15, + 67 + ], + [ + 6, + 23 + ], + [ + 4, + 20 + ], + [ + 10, + 59 + ], + [ + 13, + 61 + ], + [ + 2, + 15 + ], + [ + 1, + 13 + ], + [ + 9, + 54 + ], + [ + 8, + 52 + ], + [ + 3, + 12 + ], + [ + 1, + 9 + ], + [ + 3, + 10 + ], + [ + 1, + 7 + ], + [ + 3, + 100 + ], + [ + 2, + 6 + ], + [ + 3, + 41 + ], + [ + 32, + 80 + ], + [ + 1, + 3 + ], + [ + 0, + 93 + ], + [ + 0, + 35 + ], + [ + 35, + 46 + ], + [ + 55, + 67 + ], + [ + 64, + 74 + ], + [ + 18, + 28 + ], + [ + 54, + 64 + ], + [ + 26, + 64 + ], + [ + 32, + 79 + ], + [ + 32, + 42 + ], + [ + 4, + 72 + ], + [ + 10, + 20 + ], + [ + 28, + 83 + ], + [ + 33, + 68 + ], + [ + 16, + 23 + ], + [ + 41, + 50 + ], + [ + 7, + 87 + ], + [ + 1, + 62 + ], + [ + 46, + 52 + ], + [ + 15, + 21 + ], + [ + 1, + 59 + ], + [ + 30, + 38 + ], + [ + 1, + 51 + ], + [ + 1, + 10 + ], + [ + 0, + 59 + ], + [ + 72, + 79 + ], + [ + 29, + 36 + ], + [ + 43, + 51 + ], + [ + 4, + 74 + ], + [ + 33, + 37 + ], + [ + 4, + 10 + ], + [ + 20, + 46 + ], + [ + 0, + 39 + ], + [ + 11, + 54 + ], + [ + 9, + 29 + ], + [ + 3, + 8 + ], + [ + 12, + 40 + ], + [ + 12, + 18 + ], + [ + 45, + 56 + ], + [ + 1, + 5 + ], + [ + 1, + 32 + ], + [ + 6, + 27 + ], + [ + 6, + 24 + ], + [ + 6, + 10 + ], + [ + 4, + 56 + ], + [ + 3, + 44 + ], + [ + 10, + 48 + ], + [ + 5, + 9 + ], + [ + 0, + 24 + ], + [ + 2, + 42 + ], + [ + 4, + 7 + ], + [ + 2, + 37 + ], + [ + 4, + 44 + ], + [ + 8, + 20 + ], + [ + 20, + 28 + ], + [ + 10, + 31 + ], + [ + 10, + 34 + ], + [ + 7, + 14 + ], + [ + 4, + 12 + ], + [ + 6, + 14 + ], + [ + 13, + 42 + ], + [ + 26, + 27 + ], + [ + 31, + 41 + ], + [ + 6, + 23 + ], + [ + 15, + 25 + ], + [ + 19, + 39 + ], + [ + 3, + 27 + ], + [ + 20, + 27 + ], + [ + 29, + 34 + ], + [ + 22, + 34 + ], + [ + 33, + 34 + ], + [ + 10, + 33 + ], + [ + 8, + 32 + ], + [ + 5, + 24 + ], + [ + 6, + 8 + ], + [ + 14, + 22 + ], + [ + 11, + 28 + ], + [ + 12, + 24 + ], + [ + 1, + 10 + ], + [ + 18, + 20 + ], + [ + 1, + 17 + ], + [ + 5, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 21 + ], + [ + 11, + 16 + ], + [ + 5, + 16 + ], + [ + 15, + 16 + ], + [ + 0, + 15 + ], + [ + 8, + 9 + ], + [ + 7, + 15 + ], + [ + 5, + 13 + ], + [ + 10, + 13 + ], + [ + 3, + 12 + ], + [ + 1, + 9 + ], + [ + 4, + 7 + ], + [ + 5, + 8 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 15.46190904100149, + "first_execute_seconds": 0.1377524169984099, + "warm_seconds_median": 0.0025292500031355303, + "warm_seconds_mad": 0.0009852090042841155, + "peak_rss_bytes": 248692736, + "energy_abs_error": 1.049041748046875e-05, + "gradient_relative_l2_error": 4.2118237493173135e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.04904e-05, gradient=4.21182e-06", + "worker_pid": 74925, + "parent_pid": 74566, + "energy": -11.942817687988281, + "gradient": [ + [ + [ + 0.5258733630180359, + 0.072930246591568, + -0.04737125337123871, + -0.058920249342918396, + -0.13894055783748627, + -0.17407839000225067, + -0.2856508791446686, + -0.04443167895078659, + -0.28800147771835327, + -0.32621896266937256, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313068680465221, + 0.001817316166125238, + -0.0527024008333683, + -0.07646039873361588, + 0.043196745216846466, + 0.019278716295957565, + -0.15224730968475342, + -0.2090643346309662, + -0.0229429192841053, + 0.19368669390678406, + 0.18352186679840088, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275569438934326, + -0.24816828966140747, + -0.1877637803554535, + -0.2248370349407196, + -0.16548442840576172, + -0.1541452705860138, + 0.04240687936544418, + -0.1662866771221161, + -0.257487028837204, + -0.4156583249568939, + 0.0 + ], + [ + -0.10177383571863174, + -0.0980072170495987, + 0.01220827829092741, + 0.08998105674982071, + 0.1799621731042862, + 0.04348631948232651, + -0.07909029722213745, + -0.09540724009275436, + 0.013694364577531815, + 0.15580441057682037, + 0.10954699665307999, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 47368 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 38848, + "contractions_per_energy": 1, + "estimated_energy_flops": 38848, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 192, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 1536, + "residual_profile": { + "residual_count": 698, + "total_bytes": 47056, + "recomputable_bytes": 45760, + "bytes_by_category": { + "primitive:dot_general": 33216, + "jitted:_diag": 6688, + "primitive:conj": 2208, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 672, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.164195125002152, + "first_execute_seconds": 0.014176958000462037, + "warm_seconds_median": 0.004773332999320701, + "warm_seconds_mad": 0.0014319989968498703, + "peak_rss_bytes": 213073920, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75377, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.390504458999203, + "first_execute_seconds": 0.004263916998752393, + "warm_seconds_median": 0.0008043339985306375, + "warm_seconds_mad": 6.883399692014791e-05, + "peak_rss_bytes": 224821248, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75415, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 45600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.562183750000258, + "first_execute_seconds": 0.01156749999790918, + "warm_seconds_median": 0.0007545000007667113, + "warm_seconds_mad": 1.1459000234026462e-05, + "peak_rss_bytes": 268664832, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75471, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 54560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.834698624999874, + "first_execute_seconds": 0.007985790998645825, + "warm_seconds_median": 0.0009382499993080273, + "warm_seconds_mad": 0.00013116699847159907, + "peak_rss_bytes": 226131968, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.985853942606882e-06, + "valid": true, + "failure": null, + "worker_pid": 75595, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737109690904617, + -0.05892021954059601, + -0.13894060254096985, + -0.1740783452987671, + -0.28565090894699097, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646036893129349, + 0.04319678992033005, + 0.019278716295957565, + -0.15224730968475342, + -0.20906448364257812, + -0.022942865267395973, + 0.19368687272071838, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275573164224625, + -0.24816825985908508, + -0.18776391446590424, + -0.22483718395233154, + -0.16548436880111694, + -0.15414510667324066, + 0.042406871914863586, + -0.16628676652908325, + -0.25748714804649353, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208263389766216, + 0.08998114615678787, + 0.17996226251125336, + 0.04348650202155113, + -0.0790901780128479, + -0.09540713578462601, + 0.013694468885660172, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 17896 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.912562582998362, + "first_execute_seconds": 0.01412358300149208, + "warm_seconds_median": 0.0070095410010253545, + "warm_seconds_mad": 0.003884624002239434, + "peak_rss_bytes": 229638144, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.985853942606882e-06, + "valid": true, + "failure": null, + "worker_pid": 75696, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737109690904617, + -0.05892021954059601, + -0.13894060254096985, + -0.1740783452987671, + -0.28565090894699097, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646036893129349, + 0.04319678992033005, + 0.019278716295957565, + -0.15224730968475342, + -0.20906448364257812, + -0.022942865267395973, + 0.19368687272071838, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275573164224625, + -0.24816825985908508, + -0.18776391446590424, + -0.22483718395233154, + -0.16548436880111694, + -0.15414510667324066, + 0.042406871914863586, + -0.16628676652908325, + -0.25748714804649353, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208263389766216, + 0.08998114615678787, + 0.17996226251125336, + 0.04348650202155113, + -0.0790901780128479, + -0.09540713578462601, + 0.013694468885660172, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 37464 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.123383084002853, + "first_execute_seconds": 0.018173417000070913, + "warm_seconds_median": 0.005519540998648154, + "warm_seconds_mad": 0.002152165998268174, + "peak_rss_bytes": 192282624, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 75871, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.056363416002569, + "first_execute_seconds": 0.005661832998157479, + "warm_seconds_median": 0.0017525410003145225, + "warm_seconds_mad": 0.0006409990019164979, + "peak_rss_bytes": 211845120, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 76023, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.396144750000531, + "first_execute_seconds": 0.00902966699868557, + "warm_seconds_median": 0.0041589169995859265, + "warm_seconds_mad": 0.0010689999980968423, + "peak_rss_bytes": 231374848, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 76105, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 33320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.776970999999321, + "first_execute_seconds": 0.00616124999942258, + "warm_seconds_median": 0.0010916249993897509, + "warm_seconds_mad": 5.104099909658544e-05, + "peak_rss_bytes": 233930752, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 76164, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 23720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 90, + "total_bytes": 4396, + "recomputable_bytes": 4124, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:reshape": 300, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.329382791998796, + "first_execute_seconds": 0.004230167000059737, + "warm_seconds_median": 0.0007965829972818028, + "warm_seconds_mad": 2.0749997929669917e-05, + "peak_rss_bytes": 244318208, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 76238, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 48288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 37024, + "recomputable_bytes": 36496, + "bytes_by_category": { + "primitive:scan": 33664, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.214248374999443, + "first_execute_seconds": 0.023604207999596838, + "warm_seconds_median": 0.0012552500011224765, + "warm_seconds_mad": 0.00014754200310562737, + "peak_rss_bytes": 241074176, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 76289, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 58592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 37024, + "recomputable_bytes": 36496, + "bytes_by_category": { + "primitive:scan": 33664, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 16.78688804199919, + "first_execute_seconds": 0.007420249999995576, + "warm_seconds_median": 0.0013554170000134036, + "warm_seconds_mad": 0.000362082999345148, + "peak_rss_bytes": 282492928, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 76423, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 44424 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 37024, + "recomputable_bytes": 36496, + "bytes_by_category": { + "primitive:scan": 33664, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.256508583999675, + "first_execute_seconds": 0.00890100000106031, + "warm_seconds_median": 0.0009426249998796266, + "warm_seconds_mad": 7.249999907799065e-05, + "peak_rss_bytes": 197328896, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.967510403550911e-06, + "valid": true, + "failure": null, + "worker_pid": 76641, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293032854795456, + -0.047371141612529755, + -0.05892030522227287, + -0.13894066214561462, + -0.17407843470573425, + -0.28565093874931335, + -0.0444316640496254, + -0.2880016267299652, + -0.32621926069259644, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313371360301971, + 0.001817308715544641, + -0.05270246043801308, + -0.0764603391289711, + 0.043196626007556915, + 0.019278664141893387, + -0.15224725008010864, + -0.20906445384025574, + -0.022942908108234406, + 0.19368690252304077, + 0.18352201581001282, + 0.059221938252449036 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275575399398804, + -0.2481684386730194, + -0.18776413798332214, + -0.22483722865581512, + -0.1654844582080841, + -0.15414531528949738, + 0.042406901717185974, + -0.16628685593605042, + -0.2574872374534607, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800732880830765, + 0.012208264321088791, + 0.08998111635446548, + 0.1799621731042862, + 0.04348644241690636, + -0.07909032702445984, + -0.09540719538927078, + 0.013694453984498978, + 0.1558045595884323, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 22760 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 48.628786041997955, + "first_execute_seconds": 0.059370958002546104, + "warm_seconds_median": 0.006396833003236679, + "warm_seconds_mad": 0.0003202919979230501, + "peak_rss_bytes": 196640768, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.967510403550911e-06, + "valid": true, + "failure": null, + "worker_pid": 77094, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293032854795456, + -0.047371141612529755, + -0.05892030522227287, + -0.13894066214561462, + -0.17407843470573425, + -0.28565093874931335, + -0.0444316640496254, + -0.2880016267299652, + -0.32621926069259644, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313371360301971, + 0.001817308715544641, + -0.05270246043801308, + -0.0764603391289711, + 0.043196626007556915, + 0.019278664141893387, + -0.15224725008010864, + -0.20906445384025574, + -0.022942908108234406, + 0.19368690252304077, + 0.18352201581001282, + 0.059221938252449036 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275575399398804, + -0.2481684386730194, + -0.18776413798332214, + -0.22483722865581512, + -0.1654844582080841, + -0.15414531528949738, + 0.042406901717185974, + -0.16628685593605042, + -0.2574872374534607, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800732880830765, + 0.012208264321088791, + 0.08998111635446548, + 0.1799621731042862, + 0.04348644241690636, + -0.07909032702445984, + -0.09540719538927078, + 0.013694453984498978, + 0.1558045595884323, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40080 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.851612040998589, + "first_execute_seconds": 0.011911834000784438, + "warm_seconds_median": 0.015687457998865284, + "warm_seconds_mad": 0.01062133300001733, + "peak_rss_bytes": 230014976, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 77881, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 16272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 17.51175775000229, + "first_execute_seconds": 0.00783308300015051, + "warm_seconds_median": 0.001538917000289075, + "warm_seconds_mad": 0.0002997499977936968, + "peak_rss_bytes": 221249536, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 78008, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 30328 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 2, + 9 + ], + [ + 14, + 20 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 13, + 19 + ], + [ + 4, + 5 + ], + [ + 5, + 15 + ], + [ + 5, + 20 + ], + [ + 3, + 12 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 4, + 5 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 2, + 11 + ], + [ + 7, + 9 + ], + [ + 0, + 11 + ], + [ + 2, + 5 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 29.12481970800218, + "first_execute_seconds": 0.017605917000764748, + "warm_seconds_median": 0.0018985410024470184, + "warm_seconds_mad": 0.00042800000301213004, + "peak_rss_bytes": 236437504, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.965491726603196e-06, + "valid": true, + "failure": null, + "worker_pid": 78203, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293028384447098, + -0.04737111181020737, + -0.0589202456176281, + -0.13894061744213104, + -0.17407839000225067, + -0.28565093874931335, + -0.04443160444498062, + -0.2880016565322876, + -0.32621926069259644, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603540301323, + 0.04319661110639572, + 0.019278664141893387, + -0.1522473394870758, + -0.20906439423561096, + -0.022942867130041122, + 0.19368690252304077, + 0.183522030711174, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275571674108505, + -0.24816840887069702, + -0.18776410818099976, + -0.22483721375465393, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628685593605042, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800738096237183, + 0.012208279222249985, + 0.08998117595911026, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540728479623795, + 0.013694453984498978, + 0.15580454468727112, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 39752 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6224, + "bulk_block_path_flops": 6224, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32084, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32084, + "total_backward_flops": 63972, + "total_flops": 96056, + "total_traffic_elements": 29271, + "total_traffic_bytes": 234168, + "peak_role_residual_elements": 1044, + "static_score": 229844, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6224, + "backward_flops": 12416, + "forward_read_elements": 1044, + "forward_write_elements": 804, + "backward_read_elements": 2652, + "backward_write_elements": 1044, + "residual_elements": 1044, + "peak_live_residual_elements": 1044, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18640, + "traffic_elements": 5544 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.558431708999706, + "first_execute_seconds": 0.00635162500111619, + "warm_seconds_median": 0.0007731669975328259, + "warm_seconds_mad": 4.179199822829105e-05, + "peak_rss_bytes": 249430016, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 78539, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 54880 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38048, + "recomputable_bytes": 37168, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 27.465617166999436, + "first_execute_seconds": 0.020012042001326336, + "warm_seconds_median": 0.0012349169992376119, + "warm_seconds_mad": 2.704199869185686e-05, + "peak_rss_bytes": 211353600, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 78682, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 45312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38048, + "recomputable_bytes": 37168, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 21.052479250000033, + "first_execute_seconds": 0.04467779100014013, + "warm_seconds_median": 0.0014505420003843028, + "warm_seconds_mad": 0.0001457920006942004, + "peak_rss_bytes": 195723264, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 78956, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40728 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38048, + "recomputable_bytes": 37168, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.57458166699871, + "first_execute_seconds": 0.011900250003236579, + "warm_seconds_median": 0.0029923750007583294, + "warm_seconds_mad": 0.0001993750011024531, + "peak_rss_bytes": 238993408, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.096434958483151e-06, + "valid": true, + "failure": null, + "worker_pid": 79276, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.0473712757229805, + -0.05892027169466019, + -0.13894066214561462, + -0.17407840490341187, + -0.28565093874931335, + -0.04443163424730301, + -0.2880015969276428, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313132010400295, + 0.0018172640120610595, + -0.052702609449625015, + -0.07646038383245468, + 0.04319671541452408, + 0.01927873119711876, + -0.15224726498126984, + -0.20906442403793335, + -0.022942787036299706, + 0.19368687272071838, + 0.18352201581001282, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816857278347015, + -0.18776383996009827, + -0.22483710944652557, + -0.16548430919647217, + -0.15414519608020782, + 0.04240690544247627, + -0.16628676652908325, + -0.2574871778488159, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177376121282578, + -0.09800735116004944, + 0.012208293192088604, + 0.08998111635446548, + 0.17996226251125336, + 0.04348641261458397, + -0.07909035682678223, + -0.0954071506857872, + 0.013694558292627335, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 30120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 249, + "total_bytes": 10736, + "recomputable_bytes": 9856, + "bytes_by_category": { + "primitive:scan": 5568, + "primitive:conj": 1184, + "primitive:stack": 1088, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "primitive:concatenate": 256, + "literal": 240, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.637826209000195, + "first_execute_seconds": 0.006883166999614332, + "warm_seconds_median": 0.0010510419997444842, + "warm_seconds_mad": 0.00017087500236812048, + "peak_rss_bytes": 219856896, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.096434958483151e-06, + "valid": true, + "failure": null, + "worker_pid": 79980, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.0473712757229805, + -0.05892027169466019, + -0.13894066214561462, + -0.17407840490341187, + -0.28565093874931335, + -0.04443163424730301, + -0.2880015969276428, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313132010400295, + 0.0018172640120610595, + -0.052702609449625015, + -0.07646038383245468, + 0.04319671541452408, + 0.01927873119711876, + -0.15224726498126984, + -0.20906442403793335, + -0.022942787036299706, + 0.19368687272071838, + 0.18352201581001282, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816857278347015, + -0.18776383996009827, + -0.22483710944652557, + -0.16548430919647217, + -0.15414519608020782, + 0.04240690544247627, + -0.16628676652908325, + -0.2574871778488159, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177376121282578, + -0.09800735116004944, + 0.012208293192088604, + 0.08998111635446548, + 0.17996226251125336, + 0.04348641261458397, + -0.07909035682678223, + -0.0954071506857872, + 0.013694558292627335, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 41176 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 249, + "total_bytes": 10736, + "recomputable_bytes": 9856, + "bytes_by_category": { + "primitive:scan": 5568, + "primitive:conj": 1184, + "primitive:stack": 1088, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "primitive:concatenate": 256, + "literal": 240, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.701776666999649, + "first_execute_seconds": 0.013393875000474509, + "warm_seconds_median": 0.0013888329995097592, + "warm_seconds_mad": 0.0003449579999141861, + "peak_rss_bytes": 245465088, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 80198, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 22616 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.588388707998092, + "first_execute_seconds": 0.008904582999093691, + "warm_seconds_median": 0.00113733400212368, + "warm_seconds_mad": 7.620900214533322e-05, + "peak_rss_bytes": 261849088, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 80298, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 44440 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 35, + 36 + ], + [ + 31, + 33 + ], + [ + 16, + 18 + ], + [ + 38, + 39 + ], + [ + 32, + 41 + ], + [ + 1, + 3 + ], + [ + 27, + 30 + ], + [ + 18, + 19 + ], + [ + 19, + 36 + ], + [ + 15, + 31 + ], + [ + 1, + 7 + ], + [ + 23, + 24 + ], + [ + 16, + 30 + ], + [ + 12, + 15 + ], + [ + 1, + 23 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 17, + 23 + ], + [ + 1, + 2 + ], + [ + 2, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 22 + ], + [ + 5, + 8 + ], + [ + 12, + 14 + ], + [ + 9, + 13 + ], + [ + 2, + 17 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 7, + 12 + ], + [ + 0, + 13 + ], + [ + 1, + 11 + ], + [ + 7, + 12 + ], + [ + 8, + 10 + ], + [ + 7, + 8 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 14.523686833999818, + "first_execute_seconds": 0.008619333999376977, + "warm_seconds_median": 0.0018644590018084273, + "warm_seconds_mad": 0.0004617489976226352, + "peak_rss_bytes": 262897664, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.063653379679529e-06, + "valid": true, + "failure": null, + "worker_pid": 80537, + "parent_pid": 74566, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473712757229805, + -0.058920275419950485, + -0.13894060254096985, + -0.17407839000225067, + -0.28565096855163574, + -0.044431574642658234, + -0.2880015969276428, + -0.3262191116809845, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313190683722496, + 0.0018172640120610595, + -0.05270254984498024, + -0.07646036893129349, + 0.043196745216846466, + 0.01927875354886055, + -0.15224727988243103, + -0.20906445384025574, + -0.0229427982121706, + 0.1936868131160736, + 0.18352198600769043, + 0.05922196805477142 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275573164224625, + -0.24816855788230896, + -0.18776391446590424, + -0.22483712434768677, + -0.16548433899879456, + -0.15414519608020782, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800735116004944, + 0.012208248488605022, + 0.08998114615678787, + 0.1799621731042862, + 0.04348650202155113, + -0.07909032702445984, + -0.09540719538927078, + 0.013694535940885544, + 0.15580454468727112, + 0.10954711586236954, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 45976 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 10032, + "bulk_block_path_flops": 10032, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 34004, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34004, + "total_backward_flops": 67812, + "total_flops": 101816, + "total_traffic_elements": 30807, + "total_traffic_bytes": 246456, + "peak_role_residual_elements": 1652, + "static_score": 251476, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10032, + "backward_flops": 20016, + "forward_read_elements": 1652, + "forward_write_elements": 1292, + "backward_read_elements": 4236, + "backward_write_elements": 1652, + "residual_elements": 1652, + "peak_live_residual_elements": 1652, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 30048, + "traffic_elements": 8832 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 28, + 35 + ], + [ + 40, + 42 + ], + [ + 27, + 28 + ], + [ + 49, + 50 + ], + [ + 39, + 52 + ], + [ + 1, + 2 + ], + [ + 36, + 41 + ], + [ + 40, + 51 + ], + [ + 7, + 8 + ], + [ + 5, + 9 + ], + [ + 1, + 45 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 6, + 42 + ], + [ + 28, + 29 + ], + [ + 11, + 33 + ], + [ + 1, + 37 + ], + [ + 24, + 33 + ], + [ + 9, + 14 + ], + [ + 0, + 26 + ], + [ + 25, + 35 + ], + [ + 16, + 17 + ], + [ + 8, + 31 + ], + [ + 16, + 17 + ], + [ + 12, + 13 + ], + [ + 18, + 22 + ], + [ + 9, + 10 + ], + [ + 2, + 19 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 9, + 16 + ], + [ + 0, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 15 + ], + [ + 2, + 3 + ], + [ + 6, + 17 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 15 + ], + [ + 14, + 18 + ], + [ + 1, + 10 + ], + [ + 10, + 12 + ], + [ + 15, + 16 + ], + [ + 2, + 11 + ], + [ + 8, + 10 + ], + [ + 10, + 13 + ], + [ + 4, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 10 + ], + [ + 7, + 9 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 4, + 5 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 10, + 15 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 8 + ], + [ + 5, + 8 + ], + [ + 7, + 9 + ], + [ + 1, + 5 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.899204917001043, + "first_execute_seconds": 0.009864207997452468, + "warm_seconds_median": 0.000948290999076562, + "warm_seconds_mad": 2.141599907190539e-05, + "peak_rss_bytes": 271237120, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.013474284245771e-06, + "valid": true, + "failure": null, + "worker_pid": 80793, + "parent_pid": 74566, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302316904068, + -0.04737109690904617, + -0.058920226991176605, + -0.13894063234329224, + -0.17407837510108948, + -0.28565099835395813, + -0.04443175345659256, + -0.2880015969276428, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313133873045444, + 0.0018172714626416564, + -0.05270246043801308, + -0.07646047323942184, + 0.04319671541452408, + 0.019278693944215775, + -0.15224741399288177, + -0.20906439423561096, + -0.02294287271797657, + 0.19368672370910645, + 0.18352191150188446, + 0.05922187864780426 + ] + ], + [ + [ + 0.2825276255607605, + -0.07275567948818207, + -0.24816830456256866, + -0.18776392936706543, + -0.22483710944652557, + -0.1654844582080841, + -0.1541452258825302, + 0.042406849563121796, + -0.16628684103488922, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800736606121063, + 0.012208322994410992, + 0.08998111635446548, + 0.17996211349964142, + 0.04348641261458397, + -0.07909038662910461, + -0.09540722519159317, + 0.013694453984498978, + 0.15580447018146515, + 0.10954705625772476, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 57824 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 13680, + "bulk_block_path_flops": 13680, + "tail_path_flops": 6208, + "last_path_flops": 484, + "estimated_energy_flops": 34532, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34532, + "total_backward_flops": 68868, + "total_flops": 103400, + "total_traffic_elements": 31119, + "total_traffic_bytes": 248952, + "peak_role_residual_elements": 2236, + "static_score": 263652, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 13680, + "backward_flops": 27296, + "forward_read_elements": 2236, + "forward_write_elements": 1756, + "backward_read_elements": 5748, + "backward_write_elements": 2236, + "residual_elements": 2236, + "peak_live_residual_elements": 2236, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 40976, + "traffic_elements": 11976 + }, + "tail": { + "forward_flops": 6208, + "backward_flops": 12384, + "forward_read_elements": 1056, + "forward_write_elements": 816, + "backward_read_elements": 2688, + "backward_write_elements": 1056, + "residual_elements": 1056, + "peak_live_residual_elements": 1056, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18592, + "traffic_elements": 5616 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 41152, + "recomputable_bytes": 39920, + "bytes_by_category": { + "primitive:scan": 28800, + "primitive:dot_general": 7104, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:conj": 848, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 192, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 28, + 35 + ], + [ + 40, + 42 + ], + [ + 27, + 28 + ], + [ + 49, + 50 + ], + [ + 39, + 52 + ], + [ + 1, + 2 + ], + [ + 36, + 41 + ], + [ + 40, + 51 + ], + [ + 7, + 8 + ], + [ + 5, + 9 + ], + [ + 1, + 45 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 6, + 42 + ], + [ + 28, + 29 + ], + [ + 11, + 33 + ], + [ + 1, + 37 + ], + [ + 24, + 33 + ], + [ + 9, + 14 + ], + [ + 0, + 26 + ], + [ + 25, + 35 + ], + [ + 16, + 17 + ], + [ + 8, + 31 + ], + [ + 16, + 17 + ], + [ + 12, + 13 + ], + [ + 18, + 22 + ], + [ + 9, + 10 + ], + [ + 2, + 19 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 9, + 16 + ], + [ + 0, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 15 + ], + [ + 2, + 3 + ], + [ + 6, + 17 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 15 + ], + [ + 14, + 18 + ], + [ + 1, + 10 + ], + [ + 10, + 12 + ], + [ + 15, + 16 + ], + [ + 2, + 11 + ], + [ + 8, + 10 + ], + [ + 10, + 13 + ], + [ + 4, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 10 + ], + [ + 7, + 9 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 4, + 5 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 10, + 15 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 8 + ], + [ + 5, + 8 + ], + [ + 7, + 9 + ], + [ + 1, + 5 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.967042457999923, + "first_execute_seconds": 0.0108786249984405, + "warm_seconds_median": 0.0035223749982833397, + "warm_seconds_mad": 0.0004059999992023222, + "peak_rss_bytes": 266141696, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.013474284245771e-06, + "valid": true, + "failure": null, + "worker_pid": 81017, + "parent_pid": 74566, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302316904068, + -0.04737109690904617, + -0.058920226991176605, + -0.13894063234329224, + -0.17407837510108948, + -0.28565099835395813, + -0.04443175345659256, + -0.2880015969276428, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313133873045444, + 0.0018172714626416564, + -0.05270246043801308, + -0.07646047323942184, + 0.04319671541452408, + 0.019278693944215775, + -0.15224741399288177, + -0.20906439423561096, + -0.02294287271797657, + 0.19368672370910645, + 0.18352191150188446, + 0.05922187864780426 + ] + ], + [ + [ + 0.2825276255607605, + -0.07275567948818207, + -0.24816830456256866, + -0.18776392936706543, + -0.22483710944652557, + -0.1654844582080841, + -0.1541452258825302, + 0.042406849563121796, + -0.16628684103488922, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800736606121063, + 0.012208322994410992, + 0.08998111635446548, + 0.17996211349964142, + 0.04348641261458397, + -0.07909038662910461, + -0.09540722519159317, + 0.013694453984498978, + 0.15580447018146515, + 0.10954705625772476, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 42136 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 13680, + "bulk_block_path_flops": 13680, + "tail_path_flops": 6208, + "last_path_flops": 484, + "estimated_energy_flops": 34532, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34532, + "total_backward_flops": 68868, + "total_flops": 103400, + "total_traffic_elements": 31119, + "total_traffic_bytes": 248952, + "peak_role_residual_elements": 2236, + "static_score": 263652, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 13680, + "backward_flops": 27296, + "forward_read_elements": 2236, + "forward_write_elements": 1756, + "backward_read_elements": 5748, + "backward_write_elements": 2236, + "residual_elements": 2236, + "peak_live_residual_elements": 2236, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 40976, + "traffic_elements": 11976 + }, + "tail": { + "forward_flops": 6208, + "backward_flops": 12384, + "forward_read_elements": 1056, + "forward_write_elements": 816, + "backward_read_elements": 2688, + "backward_write_elements": 1056, + "residual_elements": 1056, + "peak_live_residual_elements": 1056, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18592, + "traffic_elements": 5616 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 41152, + "recomputable_bytes": 39920, + "bytes_by_category": { + "primitive:scan": 28800, + "primitive:dot_general": 7104, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:conj": 848, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 192, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 28, + 35 + ], + [ + 40, + 42 + ], + [ + 27, + 28 + ], + [ + 49, + 50 + ], + [ + 39, + 52 + ], + [ + 1, + 2 + ], + [ + 36, + 41 + ], + [ + 40, + 51 + ], + [ + 7, + 8 + ], + [ + 5, + 9 + ], + [ + 1, + 45 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 6, + 42 + ], + [ + 28, + 29 + ], + [ + 11, + 33 + ], + [ + 1, + 37 + ], + [ + 24, + 33 + ], + [ + 9, + 14 + ], + [ + 0, + 26 + ], + [ + 25, + 35 + ], + [ + 16, + 17 + ], + [ + 8, + 31 + ], + [ + 16, + 17 + ], + [ + 12, + 13 + ], + [ + 18, + 22 + ], + [ + 9, + 10 + ], + [ + 2, + 19 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 9, + 16 + ], + [ + 0, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 15 + ], + [ + 2, + 3 + ], + [ + 6, + 17 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 15 + ], + [ + 14, + 18 + ], + [ + 1, + 10 + ], + [ + 10, + 12 + ], + [ + 15, + 16 + ], + [ + 2, + 11 + ], + [ + 8, + 10 + ], + [ + 10, + 13 + ], + [ + 4, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 10 + ], + [ + 7, + 9 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 4, + 5 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 10, + 15 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 8 + ], + [ + 5, + 8 + ], + [ + 7, + 9 + ], + [ + 1, + 5 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 16.43342983399998, + "first_execute_seconds": 0.02158866599711473, + "warm_seconds_median": 0.00119362499754061, + "warm_seconds_mad": 0.00014112500502960756, + "peak_rss_bytes": 281395200, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.005167009004495e-06, + "valid": true, + "failure": null, + "worker_pid": 81262, + "parent_pid": 74566, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302391409874, + -0.047371141612529755, + -0.05892019718885422, + -0.13894060254096985, + -0.1740783452987671, + -0.28565093874931335, + -0.04443175345659256, + -0.2880015969276428, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172714626416564, + -0.05270246043801308, + -0.07646047323942184, + 0.04319673031568527, + 0.019278746098279953, + -0.1522473245859146, + -0.2090645432472229, + -0.02294287644326687, + 0.19368669390678406, + 0.18352188169956207, + 0.05922187864780426 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275570183992386, + -0.24816830456256866, + -0.18776395916938782, + -0.22483713924884796, + -0.1654845029115677, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800736606121063, + 0.012208248488605022, + 0.08998114615678787, + 0.17996208369731903, + 0.04348643869161606, + -0.07909032702445984, + -0.09540724009275436, + 0.013694453984498978, + 0.15580448508262634, + 0.10954705625772476, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 34216 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 13680, + "bulk_block_path_flops": 13680, + "tail_path_flops": 6208, + "last_path_flops": 484, + "estimated_energy_flops": 34532, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34532, + "total_backward_flops": 68868, + "total_flops": 103400, + "total_traffic_elements": 31119, + "total_traffic_bytes": 248952, + "peak_role_residual_elements": 2236, + "static_score": 263652, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 13680, + "backward_flops": 27296, + "forward_read_elements": 2236, + "forward_write_elements": 1756, + "backward_read_elements": 5748, + "backward_write_elements": 2236, + "residual_elements": 2236, + "peak_live_residual_elements": 2236, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 40976, + "traffic_elements": 11976 + }, + "tail": { + "forward_flops": 6208, + "backward_flops": 12384, + "forward_read_elements": 1056, + "forward_write_elements": 816, + "backward_read_elements": 2688, + "backward_write_elements": 1056, + "residual_elements": 1056, + "peak_live_residual_elements": 1056, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18592, + "traffic_elements": 5616 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 28, + 35 + ], + [ + 40, + 42 + ], + [ + 27, + 28 + ], + [ + 49, + 50 + ], + [ + 39, + 52 + ], + [ + 1, + 2 + ], + [ + 36, + 41 + ], + [ + 40, + 51 + ], + [ + 7, + 8 + ], + [ + 5, + 9 + ], + [ + 1, + 45 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 6, + 42 + ], + [ + 28, + 29 + ], + [ + 11, + 33 + ], + [ + 1, + 37 + ], + [ + 24, + 33 + ], + [ + 9, + 14 + ], + [ + 0, + 26 + ], + [ + 25, + 35 + ], + [ + 16, + 17 + ], + [ + 8, + 31 + ], + [ + 16, + 17 + ], + [ + 12, + 13 + ], + [ + 18, + 22 + ], + [ + 9, + 10 + ], + [ + 2, + 19 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 9, + 16 + ], + [ + 0, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 15 + ], + [ + 2, + 3 + ], + [ + 6, + 17 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 15 + ], + [ + 14, + 18 + ], + [ + 1, + 10 + ], + [ + 10, + 12 + ], + [ + 15, + 16 + ], + [ + 2, + 11 + ], + [ + 8, + 10 + ], + [ + 10, + 13 + ], + [ + 4, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 10 + ], + [ + 7, + 9 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 4, + 5 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 10, + 15 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 8 + ], + [ + 5, + 8 + ], + [ + 7, + 9 + ], + [ + 1, + 5 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.547527792001347, + "first_execute_seconds": 0.006303333000687417, + "warm_seconds_median": 0.0008210000014514662, + "warm_seconds_mad": 0.0001046250035869889, + "peak_rss_bytes": 227262464, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.005167009004495e-06, + "valid": true, + "failure": null, + "worker_pid": 81881, + "parent_pid": 74566, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302391409874, + -0.047371141612529755, + -0.05892019718885422, + -0.13894060254096985, + -0.1740783452987671, + -0.28565093874931335, + -0.04443175345659256, + -0.2880015969276428, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172714626416564, + -0.05270246043801308, + -0.07646047323942184, + 0.04319673031568527, + 0.019278746098279953, + -0.1522473245859146, + -0.2090645432472229, + -0.02294287644326687, + 0.19368669390678406, + 0.18352188169956207, + 0.05922187864780426 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275570183992386, + -0.24816830456256866, + -0.18776395916938782, + -0.22483713924884796, + -0.1654845029115677, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800736606121063, + 0.012208248488605022, + 0.08998114615678787, + 0.17996208369731903, + 0.04348643869161606, + -0.07909032702445984, + -0.09540724009275436, + 0.013694453984498978, + 0.15580448508262634, + 0.10954705625772476, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 42008 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 13680, + "bulk_block_path_flops": 13680, + "tail_path_flops": 6208, + "last_path_flops": 484, + "estimated_energy_flops": 34532, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34532, + "total_backward_flops": 68868, + "total_flops": 103400, + "total_traffic_elements": 31119, + "total_traffic_bytes": 248952, + "peak_role_residual_elements": 2236, + "static_score": 263652, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 13680, + "backward_flops": 27296, + "forward_read_elements": 2236, + "forward_write_elements": 1756, + "backward_read_elements": 5748, + "backward_write_elements": 2236, + "residual_elements": 2236, + "peak_live_residual_elements": 2236, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 40976, + "traffic_elements": 11976 + }, + "tail": { + "forward_flops": 6208, + "backward_flops": 12384, + "forward_read_elements": 1056, + "forward_write_elements": 816, + "backward_read_elements": 2688, + "backward_write_elements": 1056, + "residual_elements": 1056, + "peak_live_residual_elements": 1056, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18592, + "traffic_elements": 5616 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 28, + 35 + ], + [ + 40, + 42 + ], + [ + 27, + 28 + ], + [ + 49, + 50 + ], + [ + 39, + 52 + ], + [ + 1, + 2 + ], + [ + 36, + 41 + ], + [ + 40, + 51 + ], + [ + 7, + 8 + ], + [ + 5, + 9 + ], + [ + 1, + 45 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 6, + 42 + ], + [ + 28, + 29 + ], + [ + 11, + 33 + ], + [ + 1, + 37 + ], + [ + 24, + 33 + ], + [ + 9, + 14 + ], + [ + 0, + 26 + ], + [ + 25, + 35 + ], + [ + 16, + 17 + ], + [ + 8, + 31 + ], + [ + 16, + 17 + ], + [ + 12, + 13 + ], + [ + 18, + 22 + ], + [ + 9, + 10 + ], + [ + 2, + 19 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 9, + 16 + ], + [ + 0, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 15 + ], + [ + 2, + 3 + ], + [ + 6, + 17 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 15 + ], + [ + 14, + 18 + ], + [ + 1, + 10 + ], + [ + 10, + 12 + ], + [ + 15, + 16 + ], + [ + 2, + 11 + ], + [ + 8, + 10 + ], + [ + 10, + 13 + ], + [ + 4, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 10 + ], + [ + 7, + 9 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 4, + 5 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 10, + 15 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 8 + ], + [ + 5, + 8 + ], + [ + 7, + 9 + ], + [ + 1, + 5 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.633102207997581, + "first_execute_seconds": 0.015901208000286715, + "warm_seconds_median": 0.012992374999157619, + "warm_seconds_mad": 0.001022415999614168, + "peak_rss_bytes": 271417344, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.013474284245771e-06, + "valid": true, + "failure": null, + "worker_pid": 82099, + "parent_pid": 74566, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302316904068, + -0.04737109690904617, + -0.058920226991176605, + -0.13894063234329224, + -0.17407837510108948, + -0.28565099835395813, + -0.04443175345659256, + -0.2880015969276428, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313133873045444, + 0.0018172714626416564, + -0.05270246043801308, + -0.07646047323942184, + 0.04319671541452408, + 0.019278693944215775, + -0.15224741399288177, + -0.20906439423561096, + -0.02294287271797657, + 0.19368672370910645, + 0.18352191150188446, + 0.05922187864780426 + ] + ], + [ + [ + 0.2825276255607605, + -0.07275567948818207, + -0.24816830456256866, + -0.18776392936706543, + -0.22483710944652557, + -0.1654844582080841, + -0.1541452258825302, + 0.042406849563121796, + -0.16628684103488922, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800736606121063, + 0.012208322994410992, + 0.08998111635446548, + 0.17996211349964142, + 0.04348641261458397, + -0.07909038662910461, + -0.09540722519159317, + 0.013694453984498978, + 0.15580447018146515, + 0.10954705625772476, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 26784 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 13680, + "bulk_block_path_flops": 13680, + "tail_path_flops": 6208, + "last_path_flops": 484, + "estimated_energy_flops": 34532, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34532, + "total_backward_flops": 68868, + "total_flops": 103400, + "total_traffic_elements": 31119, + "total_traffic_bytes": 248952, + "peak_role_residual_elements": 2236, + "static_score": 263652, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 13680, + "backward_flops": 27296, + "forward_read_elements": 2236, + "forward_write_elements": 1756, + "backward_read_elements": 5748, + "backward_write_elements": 2236, + "residual_elements": 2236, + "peak_live_residual_elements": 2236, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 40976, + "traffic_elements": 11976 + }, + "tail": { + "forward_flops": 6208, + "backward_flops": 12384, + "forward_read_elements": 1056, + "forward_write_elements": 816, + "backward_read_elements": 2688, + "backward_write_elements": 1056, + "residual_elements": 1056, + "peak_live_residual_elements": 1056, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18592, + "traffic_elements": 5616 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5616, + "recomputable_bytes": 3680, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 192, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 28, + 35 + ], + [ + 40, + 42 + ], + [ + 27, + 28 + ], + [ + 49, + 50 + ], + [ + 39, + 52 + ], + [ + 1, + 2 + ], + [ + 36, + 41 + ], + [ + 40, + 51 + ], + [ + 7, + 8 + ], + [ + 5, + 9 + ], + [ + 1, + 45 + ], + [ + 20, + 21 + ], + [ + 7, + 13 + ], + [ + 6, + 42 + ], + [ + 28, + 29 + ], + [ + 11, + 33 + ], + [ + 1, + 37 + ], + [ + 24, + 33 + ], + [ + 9, + 14 + ], + [ + 0, + 26 + ], + [ + 25, + 35 + ], + [ + 16, + 17 + ], + [ + 8, + 31 + ], + [ + 16, + 17 + ], + [ + 12, + 13 + ], + [ + 18, + 22 + ], + [ + 9, + 10 + ], + [ + 2, + 19 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 9, + 16 + ], + [ + 0, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 15 + ], + [ + 2, + 3 + ], + [ + 6, + 17 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 15 + ], + [ + 14, + 18 + ], + [ + 1, + 10 + ], + [ + 10, + 12 + ], + [ + 15, + 16 + ], + [ + 2, + 11 + ], + [ + 8, + 10 + ], + [ + 10, + 13 + ], + [ + 4, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 10 + ], + [ + 7, + 9 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 4, + 5 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 10, + 15 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 4, + 9 + ], + [ + 4, + 8 + ], + [ + 5, + 8 + ], + [ + 7, + 9 + ], + [ + 1, + 5 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.712617249999312, + "first_execute_seconds": 0.005588916999840876, + "warm_seconds_median": 0.001040416998876026, + "warm_seconds_mad": 0.00020641699666157365, + "peak_rss_bytes": 236322816, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.013474284245771e-06, + "valid": true, + "failure": null, + "worker_pid": 82265, + "parent_pid": 74566, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302316904068, + -0.04737109690904617, + -0.058920226991176605, + -0.13894063234329224, + -0.17407837510108948, + -0.28565099835395813, + -0.04443175345659256, + -0.2880015969276428, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313133873045444, + 0.0018172714626416564, + -0.05270246043801308, + -0.07646047323942184, + 0.04319671541452408, + 0.019278693944215775, + -0.15224741399288177, + -0.20906439423561096, + -0.02294287271797657, + 0.19368672370910645, + 0.18352191150188446, + 0.05922187864780426 + ] + ], + [ + [ + 0.2825276255607605, + -0.07275567948818207, + -0.24816830456256866, + -0.18776392936706543, + -0.22483710944652557, + -0.1654844582080841, + -0.1541452258825302, + 0.042406849563121796, + -0.16628684103488922, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800736606121063, + 0.012208322994410992, + 0.08998111635446548, + 0.17996211349964142, + 0.04348641261458397, + -0.07909038662910461, + -0.09540722519159317, + 0.013694453984498978, + 0.15580447018146515, + 0.10954705625772476, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 48280 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 13680, + "bulk_block_path_flops": 13680, + "tail_path_flops": 6208, + "last_path_flops": 484, + "estimated_energy_flops": 34532, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34532, + "total_backward_flops": 68868, + "total_flops": 103400, + "total_traffic_elements": 31119, + "total_traffic_bytes": 248952, + "peak_role_residual_elements": 2236, + "static_score": 263652, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 13680, + "backward_flops": 27296, + "forward_read_elements": 2236, + "forward_write_elements": 1756, + "backward_read_elements": 5748, + "backward_write_elements": 2236, + "residual_elements": 2236, + "peak_live_residual_elements": 2236, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 40976, + "traffic_elements": 11976 + }, + "tail": { + "forward_flops": 6208, + "backward_flops": 12384, + "forward_read_elements": 1056, + "forward_write_elements": 816, + "backward_read_elements": 2688, + "backward_write_elements": 1056, + "residual_elements": 1056, + "peak_live_residual_elements": 1056, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18592, + "traffic_elements": 5616 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5616, + "recomputable_bytes": 3680, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 192, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4702192090007884, + "first_execute_seconds": 0.004211291998217348, + "warm_seconds_median": 0.0008889589989848901, + "warm_seconds_mad": 3.308399755042046e-05, + "peak_rss_bytes": 249905152, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82511, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.3143280840013176, + "first_execute_seconds": 0.008331084001838462, + "warm_seconds_median": 0.0013987499987706542, + "warm_seconds_mad": 6.149999899207614e-05, + "peak_rss_bytes": 268337152, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82537, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 36960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.459882792001736, + "first_execute_seconds": 0.018118583000614308, + "warm_seconds_median": 0.0015984999990905635, + "warm_seconds_mad": 0.0003308750019641593, + "peak_rss_bytes": 246677504, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82621, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 43744 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0440060420005466, + "first_execute_seconds": 0.012378333001834108, + "warm_seconds_median": 0.0015585420005663764, + "warm_seconds_mad": 0.0002883749984903261, + "peak_rss_bytes": 254312448, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.043615521152289e-06, + "valid": true, + "failure": null, + "worker_pid": 82710, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892029404640198, + -0.13894060254096985, + -0.17407837510108948, + -0.2856510281562805, + -0.044431693851947784, + -0.2880015969276428, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313431896269321, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603391289711, + 0.04319676011800766, + 0.01927882805466652, + -0.15224729478359222, + -0.2090643048286438, + -0.02294287271797657, + 0.1936868131160736, + 0.18352201581001282, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275574654340744, + -0.2481684386730194, + -0.18776406347751617, + -0.22483721375465393, + -0.16548436880111694, + -0.1541452258825302, + 0.04240685701370239, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800739586353302, + 0.012208204716444016, + 0.08998114615678787, + 0.17996235191822052, + 0.04348650202155113, + -0.079090416431427, + -0.09540701657533646, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 18792 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.011817416998383, + "first_execute_seconds": 0.005394625000917586, + "warm_seconds_median": 0.0009227500013366807, + "warm_seconds_mad": 8.079200051724911e-05, + "peak_rss_bytes": 232357888, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.043615521152289e-06, + "valid": true, + "failure": null, + "worker_pid": 82741, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892029404640198, + -0.13894060254096985, + -0.17407837510108948, + -0.2856510281562805, + -0.044431693851947784, + -0.2880015969276428, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313431896269321, + 0.0018172416603192687, + -0.05270254984498024, + -0.0764603391289711, + 0.04319676011800766, + 0.01927882805466652, + -0.15224729478359222, + -0.2090643048286438, + -0.02294287271797657, + 0.1936868131160736, + 0.18352201581001282, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275574654340744, + -0.2481684386730194, + -0.18776406347751617, + -0.22483721375465393, + -0.16548436880111694, + -0.1541452258825302, + 0.04240685701370239, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800739586353302, + 0.012208204716444016, + 0.08998114615678787, + 0.17996235191822052, + 0.04348650202155113, + -0.079090416431427, + -0.09540701657533646, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 33880 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.2431777080018946, + "first_execute_seconds": 0.004644916996767279, + "warm_seconds_median": 0.0009126670011028182, + "warm_seconds_mad": 3.6458000977290794e-05, + "peak_rss_bytes": 198819840, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82806, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.876347582998278, + "first_execute_seconds": 0.004679834000853589, + "warm_seconds_median": 0.0008618329993623774, + "warm_seconds_mad": 2.041700281552039e-05, + "peak_rss_bytes": 201129984, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 82915, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.311365875000774, + "first_execute_seconds": 0.008444917002634611, + "warm_seconds_median": 0.001450457999453647, + "warm_seconds_mad": 0.0003447499984758906, + "peak_rss_bytes": 252559360, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 83003, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 31400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.552269083000283, + "first_execute_seconds": 0.0050339580011495855, + "warm_seconds_median": 0.0010837500012712553, + "warm_seconds_mad": 4.325000190874562e-05, + "peak_rss_bytes": 231211008, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 83084, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 20840 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4924, + "recomputable_bytes": 4652, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "primitive:stack": 320, + "primitive:reshape": 300, + "primitive:conj": 240, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.29140708399791, + "first_execute_seconds": 0.007366665999143152, + "warm_seconds_median": 0.0024802920015645213, + "warm_seconds_mad": 0.0002896670048357919, + "peak_rss_bytes": 235339776, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 83208, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 48864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.946496833003039, + "first_execute_seconds": 0.017732416999933776, + "warm_seconds_median": 0.0019613750009739306, + "warm_seconds_mad": 0.0004420830009621568, + "peak_rss_bytes": 224444416, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 83304, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 58528 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 20.586868750000576, + "first_execute_seconds": 0.0065962910011876374, + "warm_seconds_median": 0.0009207500006596092, + "warm_seconds_mad": 6.316700091701932e-05, + "peak_rss_bytes": 210616320, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 83495, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43984 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.260305000003427, + "first_execute_seconds": 0.006894458998431219, + "warm_seconds_median": 0.0011084999969170894, + "warm_seconds_mad": 9.841699647950009e-05, + "peak_rss_bytes": 217628672, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.040948467563614e-06, + "valid": true, + "failure": null, + "worker_pid": 83897, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293011248111725, + -0.04737109690904617, + -0.05892017111182213, + -0.13894054293632507, + -0.17407840490341187, + -0.28565147519111633, + -0.0444316640496254, + -0.28800153732299805, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313251219689846, + 0.001817219308577478, + -0.05270254984498024, + -0.07646054774522781, + 0.04319671541452408, + 0.01927873119711876, + -0.15224741399288177, + -0.20906442403793335, + -0.02294275537133217, + 0.19368687272071838, + 0.18352195620536804, + 0.059221960604190826 + ] + ], + [ + [ + 0.28252771496772766, + -0.07275569438934326, + -0.24816833436489105, + -0.18776379525661469, + -0.224837064743042, + -0.1654844880104065, + -0.1541450470685959, + 0.04240686446428299, + -0.16628673672676086, + -0.25748729705810547, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177379101514816, + -0.09800732135772705, + 0.012208203785121441, + 0.08998102694749832, + 0.17996223270893097, + 0.04348656162619591, + -0.07909029722213745, + -0.09540719538927078, + 0.01369459554553032, + 0.15580439567565918, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 26920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 19.48915504099932, + "first_execute_seconds": 0.05064325000057579, + "warm_seconds_median": 0.004877999999735039, + "warm_seconds_mad": 0.003698291999171488, + "peak_rss_bytes": 224641024, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.040948467563614e-06, + "valid": true, + "failure": null, + "worker_pid": 83987, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293011248111725, + -0.04737109690904617, + -0.05892017111182213, + -0.13894054293632507, + -0.17407840490341187, + -0.28565147519111633, + -0.0444316640496254, + -0.28800153732299805, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313251219689846, + 0.001817219308577478, + -0.05270254984498024, + -0.07646054774522781, + 0.04319671541452408, + 0.01927873119711876, + -0.15224741399288177, + -0.20906442403793335, + -0.02294275537133217, + 0.19368687272071838, + 0.18352195620536804, + 0.059221960604190826 + ] + ], + [ + [ + 0.28252771496772766, + -0.07275569438934326, + -0.24816833436489105, + -0.18776379525661469, + -0.224837064743042, + -0.1654844880104065, + -0.1541450470685959, + 0.04240686446428299, + -0.16628673672676086, + -0.25748729705810547, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177379101514816, + -0.09800732135772705, + 0.012208203785121441, + 0.08998102694749832, + 0.17996223270893097, + 0.04348656162619591, + -0.07909029722213745, + -0.09540719538927078, + 0.01369459554553032, + 0.15580439567565918, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 42768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.296997917001136, + "first_execute_seconds": 0.010914250000496395, + "warm_seconds_median": 0.0020289169988245703, + "warm_seconds_mad": 0.0004790839993802365, + "peak_rss_bytes": 231407616, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 84373, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 18768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.655070083001192, + "first_execute_seconds": 0.013990874998853542, + "warm_seconds_median": 0.0018922910021501593, + "warm_seconds_mad": 0.0002764589989965316, + "peak_rss_bytes": 226295808, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 84498, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 36920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 18.715145541998936, + "first_execute_seconds": 0.012715332999505335, + "warm_seconds_median": 0.0017261249995499384, + "warm_seconds_mad": 0.00012475000039557926, + "peak_rss_bytes": 222789632, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 84732, + "parent_pid": 74566, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 43352 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.812651583000843, + "first_execute_seconds": 0.004033334000268951, + "warm_seconds_median": 0.0007408329984173179, + "warm_seconds_mad": 3.6833000194747e-05, + "peak_rss_bytes": 231931904, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 84971, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 70120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 17.249391375000414, + "first_execute_seconds": 0.005487916998390574, + "warm_seconds_median": 0.0008582090013078414, + "warm_seconds_mad": 6.958400263101794e-05, + "peak_rss_bytes": 224722944, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 85171, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 62984 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.966150083000684, + "first_execute_seconds": 0.008414750001975335, + "warm_seconds_median": 0.0008459580021735746, + "warm_seconds_mad": 6.775000292691402e-05, + "peak_rss_bytes": 218349568, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 85382, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 58136 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.37946175000252, + "first_execute_seconds": 0.05743695799901616, + "warm_seconds_median": 0.005820375001349021, + "warm_seconds_mad": 0.0015063330029079225, + "peak_rss_bytes": 261832704, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.92106413239209e-06, + "valid": true, + "failure": null, + "worker_pid": 85562, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258739590644836, + 0.07293029129505157, + -0.04737108200788498, + -0.05892017111182213, + -0.13894060254096985, + -0.17407839000225067, + -0.2856515347957611, + -0.04443151503801346, + -0.28800177574157715, + -0.32621946930885315, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172789132222533, + -0.0527026392519474, + -0.07646026462316513, + 0.04319704324007034, + 0.019278842955827713, + -0.15224726498126984, + -0.20906460285186768, + -0.022942841053009033, + 0.19368696212768555, + 0.18352217972278595, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275581359863281, + -0.2481684684753418, + -0.18776394426822662, + -0.2248372733592987, + -0.16548436880111694, + -0.1541450470685959, + 0.04240678995847702, + -0.1662868857383728, + -0.25748738646507263, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.01220821961760521, + 0.08998114615678787, + 0.1799624115228653, + 0.04348677024245262, + -0.07909026741981506, + -0.09540750831365585, + 0.013694379478693008, + 0.15580469369888306, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 41520 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 249, + "total_bytes": 10736, + "recomputable_bytes": 9856, + "bytes_by_category": { + "primitive:scan": 5568, + "primitive:conj": 1184, + "primitive:stack": 1088, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "primitive:concatenate": 256, + "literal": 240, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.758823416999803, + "first_execute_seconds": 0.029405792000034126, + "warm_seconds_median": 0.0020394999992277008, + "warm_seconds_mad": 0.0001882920005300548, + "peak_rss_bytes": 200802304, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.92106413239209e-06, + "valid": true, + "failure": null, + "worker_pid": 85678, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258739590644836, + 0.07293029129505157, + -0.04737108200788498, + -0.05892017111182213, + -0.13894060254096985, + -0.17407839000225067, + -0.2856515347957611, + -0.04443151503801346, + -0.28800177574157715, + -0.32621946930885315, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172789132222533, + -0.0527026392519474, + -0.07646026462316513, + 0.04319704324007034, + 0.019278842955827713, + -0.15224726498126984, + -0.20906460285186768, + -0.022942841053009033, + 0.19368696212768555, + 0.18352217972278595, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275581359863281, + -0.2481684684753418, + -0.18776394426822662, + -0.2248372733592987, + -0.16548436880111694, + -0.1541450470685959, + 0.04240678995847702, + -0.1662868857383728, + -0.25748738646507263, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.01220821961760521, + 0.08998114615678787, + 0.1799624115228653, + 0.04348677024245262, + -0.07909026741981506, + -0.09540750831365585, + 0.013694379478693008, + 0.15580469369888306, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 59352 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 249, + "total_bytes": 10736, + "recomputable_bytes": 9856, + "bytes_by_category": { + "primitive:scan": 5568, + "primitive:conj": 1184, + "primitive:stack": 1088, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "primitive:concatenate": 256, + "literal": 240, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.6525869999968563, + "first_execute_seconds": 0.0037249999986670446, + "warm_seconds_median": 0.0014371249999385327, + "warm_seconds_mad": 0.0002945000014733523, + "peak_rss_bytes": 301383680, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 85865, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 33240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.86169024999981, + "first_execute_seconds": 0.01144462500087684, + "warm_seconds_median": 0.0015064580002217554, + "warm_seconds_mad": 0.00017037599900504574, + "peak_rss_bytes": 233684992, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 85924, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 69336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.413482375002786, + "first_execute_seconds": 0.009952958000212675, + "warm_seconds_median": 0.001047999998263549, + "warm_seconds_mad": 0.0002967919972434174, + "peak_rss_bytes": 246366208, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 86079, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 64728 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.533285834000708, + "first_execute_seconds": 0.011064250000345055, + "warm_seconds_median": 0.0013010000002395827, + "warm_seconds_mad": 0.0003679590008687228, + "peak_rss_bytes": 318439424, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 86208, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 110760 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.250833999998576, + "first_execute_seconds": 0.009950583000318147, + "warm_seconds_median": 0.0011048329979530536, + "warm_seconds_mad": 4.533399987849407e-05, + "peak_rss_bytes": 223461376, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 86311, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 95320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.047135291999439, + "first_execute_seconds": 0.01566941599958227, + "warm_seconds_median": 0.0027556659988476895, + "warm_seconds_mad": 0.0013532069970096927, + "peak_rss_bytes": 252592128, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.42957114269363e-06, + "valid": true, + "failure": null, + "worker_pid": 86474, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293018698692322, + -0.047371141612529755, + -0.05892030522227287, + -0.1389404833316803, + -0.17407824099063873, + -0.285650372505188, + -0.04443136975169182, + -0.28800147771835327, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313186958432198, + 0.0018172938143834472, + -0.052702490240335464, + -0.0764605775475502, + 0.043196581304073334, + 0.019278589636087418, + -0.15224717557430267, + -0.20906418561935425, + -0.02294279634952545, + 0.19368672370910645, + 0.18352186679840088, + 0.05922198295593262 + ] + ], + [ + [ + 0.28252747654914856, + -0.07275573909282684, + -0.2481682300567627, + -0.18776388466358185, + -0.22483700513839722, + -0.16548438370227814, + -0.1541450321674347, + 0.0424070842564106, + -0.1662866622209549, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177374631166458, + -0.09800751507282257, + 0.01220835279673338, + 0.08998126536607742, + 0.1799621433019638, + 0.04348655790090561, + -0.07908996939659119, + -0.0954069271683693, + 0.013694558292627335, + 0.1558043658733368, + 0.10954702645540237, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 68848 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.393348707999394, + "first_execute_seconds": 0.010449249999510357, + "warm_seconds_median": 0.000703875000908738, + "warm_seconds_mad": 8.166000043274835e-06, + "peak_rss_bytes": 240353280, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.42957114269363e-06, + "valid": true, + "failure": null, + "worker_pid": 86671, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293018698692322, + -0.047371141612529755, + -0.05892030522227287, + -0.1389404833316803, + -0.17407824099063873, + -0.285650372505188, + -0.04443136975169182, + -0.28800147771835327, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313186958432198, + 0.0018172938143834472, + -0.052702490240335464, + -0.0764605775475502, + 0.043196581304073334, + 0.019278589636087418, + -0.15224717557430267, + -0.20906418561935425, + -0.02294279634952545, + 0.19368672370910645, + 0.18352186679840088, + 0.05922198295593262 + ] + ], + [ + [ + 0.28252747654914856, + -0.07275573909282684, + -0.2481682300567627, + -0.18776388466358185, + -0.22483700513839722, + -0.16548438370227814, + -0.1541450321674347, + 0.0424070842564106, + -0.1662866622209549, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177374631166458, + -0.09800751507282257, + 0.01220835279673338, + 0.08998126536607742, + 0.1799621433019638, + 0.04348655790090561, + -0.07908996939659119, + -0.0954069271683693, + 0.013694558292627335, + 0.1558043658733368, + 0.10954702645540237, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 91288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.699045542001841, + "first_execute_seconds": 0.029531625001254724, + "warm_seconds_median": 0.0014885000018693972, + "warm_seconds_mad": 0.00015016600082162768, + "peak_rss_bytes": 295763968, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 86856, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 59552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 6144, + "recomputable_bytes": 4208, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 1792, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.720970874997874, + "first_execute_seconds": 0.010269042002619244, + "warm_seconds_median": 0.002297625000210246, + "warm_seconds_mad": 0.00044962500032852404, + "peak_rss_bytes": 250970112, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 87002, + "parent_pid": 74566, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 99160 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 6144, + "recomputable_bytes": 4208, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 1792, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.396997833002388, + "first_execute_seconds": 0.003559833003237145, + "warm_seconds_median": 0.0008666250032547396, + "warm_seconds_mad": 0.0001555420021759346, + "peak_rss_bytes": 251887616, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87284, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 45344 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 38912, + "recomputable_bytes": 38512, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 1152, + "primitive:stack": 448, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.294932124998013, + "first_execute_seconds": 0.0037496660006581806, + "warm_seconds_median": 0.0009790830008569174, + "warm_seconds_mad": 0.0001418329993612133, + "peak_rss_bytes": 287129600, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87377, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 48928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 38912, + "recomputable_bytes": 38512, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 1152, + "primitive:stack": 448, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.4293194160018174, + "first_execute_seconds": 0.002795832999254344, + "warm_seconds_median": 0.0009099170019908343, + "warm_seconds_mad": 6.28749985480681e-05, + "peak_rss_bytes": 327434240, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87472, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 58400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 38912, + "recomputable_bytes": 38512, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 1152, + "primitive:stack": 448, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.320194166000874, + "first_execute_seconds": 0.006464124999183696, + "warm_seconds_median": 0.0013875829972676001, + "warm_seconds_mad": 0.0003297079965705052, + "peak_rss_bytes": 220233728, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.081076531032295e-06, + "valid": true, + "failure": null, + "worker_pid": 87571, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.047371186316013336, + -0.05892018601298332, + -0.13894060254096985, + -0.17407827079296112, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313129216432571, + 0.0018172714626416564, + -0.05270243063569069, + -0.07646044343709946, + 0.043196775019168854, + 0.01927870139479637, + -0.15224720537662506, + -0.2090643346309662, + -0.022942861542105675, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275571674108505, + -0.24816830456256866, + -0.18776389956474304, + -0.22483712434768677, + -0.16548430919647217, + -0.15414509177207947, + 0.0424068309366703, + -0.16628673672676086, + -0.2574872374534607, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800735861063004, + 0.012208248488605022, + 0.08998111635446548, + 0.1799621731042862, + 0.043486349284648895, + -0.07909029722213745, + -0.09540712088346481, + 0.013694468885660172, + 0.15580448508262634, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 18024 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.319941124998877, + "first_execute_seconds": 0.024665834000188624, + "warm_seconds_median": 0.002726332997553982, + "warm_seconds_mad": 0.0014485419960692525, + "peak_rss_bytes": 251936768, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.081076531032295e-06, + "valid": true, + "failure": null, + "worker_pid": 87670, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.047371186316013336, + -0.05892018601298332, + -0.13894060254096985, + -0.17407827079296112, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313129216432571, + 0.0018172714626416564, + -0.05270243063569069, + -0.07646044343709946, + 0.043196775019168854, + 0.01927870139479637, + -0.15224720537662506, + -0.2090643346309662, + -0.022942861542105675, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275571674108505, + -0.24816830456256866, + -0.18776389956474304, + -0.22483712434768677, + -0.16548430919647217, + -0.15414509177207947, + 0.0424068309366703, + -0.16628673672676086, + -0.2574872374534607, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800735861063004, + 0.012208248488605022, + 0.08998111635446548, + 0.1799621731042862, + 0.043486349284648895, + -0.07909029722213745, + -0.09540712088346481, + 0.013694468885660172, + 0.15580448508262634, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 34904 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 11056, + "recomputable_bytes": 10656, + "bytes_by_category": { + "primitive:scan": 8704, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.421962458996859, + "first_execute_seconds": 0.01124862500000745, + "warm_seconds_median": 0.0019122920020890888, + "warm_seconds_mad": 0.0008310830053233076, + "peak_rss_bytes": 259997696, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87816, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7056, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.075406625001051, + "first_execute_seconds": 0.02193208400058211, + "warm_seconds_median": 0.0010034160004579462, + "warm_seconds_mad": 0.00019816600251942873, + "peak_rss_bytes": 209436672, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87881, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7056, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.996419667000737, + "first_execute_seconds": 0.00842779199956567, + "warm_seconds_median": 0.0018618340000102762, + "warm_seconds_mad": 0.0004032500000903383, + "peak_rss_bytes": 217137152, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 87928, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 33960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7056, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.30015212500075, + "first_execute_seconds": 0.006772999997338047, + "warm_seconds_median": 0.003302417000668356, + "warm_seconds_mad": 0.0015287499991245568, + "peak_rss_bytes": 223854592, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0904072890066775e-06, + "valid": true, + "failure": null, + "worker_pid": 88122, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302316904068, + -0.04737115651369095, + -0.05892019346356392, + -0.13894060254096985, + -0.17407828569412231, + -0.2856508791446686, + -0.044431667774915695, + -0.28800147771835327, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313188821077347, + 0.0018172789132222533, + -0.05270243063569069, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224720537662506, + -0.2090643346309662, + -0.022942859679460526, + 0.193686842918396, + 0.1835220605134964, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.24816825985908508, + -0.18776391446590424, + -0.22483710944652557, + -0.16548432409763336, + -0.15414507687091827, + 0.0424068309366703, + -0.16628673672676086, + -0.2574871778488159, + -0.41565850377082825, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800735116004944, + 0.012208233587443829, + 0.08998111635446548, + 0.1799621433019638, + 0.043486349284648895, + -0.07909023761749268, + -0.0954071506857872, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 25000 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 31604, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 31604, + "total_backward_flops": 63004, + "total_flops": 94608, + "total_traffic_elements": 30951, + "total_traffic_bytes": 247608, + "peak_role_residual_elements": 548, + "static_score": 227180, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 90, + "total_bytes": 4492, + "recomputable_bytes": 4220, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 1088, + "primitive:stack": 384, + "primitive:reshape": 300, + "primitive:conj": 208, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.2900570829988283, + "first_execute_seconds": 0.006735416998708388, + "warm_seconds_median": 0.0009707919998618308, + "warm_seconds_mad": 5.095799861010164e-05, + "peak_rss_bytes": 245645312, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.271507172095247e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.27151e-06", + "worker_pid": 88241, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302242398262, + -0.04737111181020737, + -0.05892021209001541, + -0.13894055783748627, + -0.17407825589179993, + -0.2856506407260895, + -0.04443163797259331, + -0.28800153732299805, + -0.3262190520763397, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313010938465595, + 0.0018172714626416564, + -0.05270266905426979, + -0.07646042853593826, + 0.043196581304073334, + 0.019278738647699356, + -0.15224716067314148, + -0.2090643346309662, + -0.022942913696169853, + 0.19368666410446167, + 0.18352189660072327, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275563478469849, + -0.24816834926605225, + -0.18776395916938782, + -0.224837064743042, + -0.16548432409763336, + -0.15414518117904663, + 0.0424068346619606, + -0.16628673672676086, + -0.2574871778488159, + -0.41565829515457153, + 0.0 + ], + [ + -0.101773701608181, + -0.09800735116004944, + 0.012208160012960434, + 0.0899810865521431, + 0.17996199429035187, + 0.04348631948232651, + -0.07909032702445984, + -0.09540719538927078, + 0.013694461435079575, + 0.15580445528030396, + 0.10954705625772476, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 52512 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 40320, + "recomputable_bytes": 39792, + "bytes_by_category": { + "primitive:scan": 36864, + "primitive:dot_general": 1216, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.046163084, + "first_execute_seconds": 0.011041041998396395, + "warm_seconds_median": 0.0021614580000459682, + "warm_seconds_mad": 0.0006900410007801838, + "peak_rss_bytes": 254377984, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.271507172095247e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.27151e-06", + "worker_pid": 88339, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302242398262, + -0.04737111181020737, + -0.05892021209001541, + -0.13894055783748627, + -0.17407825589179993, + -0.2856506407260895, + -0.04443163797259331, + -0.28800153732299805, + -0.3262190520763397, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313010938465595, + 0.0018172714626416564, + -0.05270266905426979, + -0.07646042853593826, + 0.043196581304073334, + 0.019278738647699356, + -0.15224716067314148, + -0.2090643346309662, + -0.022942913696169853, + 0.19368666410446167, + 0.18352189660072327, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275563478469849, + -0.24816834926605225, + -0.18776395916938782, + -0.224837064743042, + -0.16548432409763336, + -0.15414518117904663, + 0.0424068346619606, + -0.16628673672676086, + -0.2574871778488159, + -0.41565829515457153, + 0.0 + ], + [ + -0.101773701608181, + -0.09800735116004944, + 0.012208160012960434, + 0.0899810865521431, + 0.17996199429035187, + 0.04348631948232651, + -0.07909032702445984, + -0.09540719538927078, + 0.013694461435079575, + 0.15580445528030396, + 0.10954705625772476, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 62752 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 40320, + "recomputable_bytes": 39792, + "bytes_by_category": { + "primitive:scan": 36864, + "primitive:dot_general": 1216, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 17.131852500002424, + "first_execute_seconds": 0.009259834001568379, + "warm_seconds_median": 0.0014358750013343524, + "warm_seconds_mad": 0.00013962500088382512, + "peak_rss_bytes": 238157824, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.271507172095247e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.27151e-06", + "worker_pid": 88450, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302242398262, + -0.04737111181020737, + -0.05892021209001541, + -0.13894055783748627, + -0.17407825589179993, + -0.2856506407260895, + -0.04443163797259331, + -0.28800153732299805, + -0.3262190520763397, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313010938465595, + 0.0018172714626416564, + -0.05270266905426979, + -0.07646042853593826, + 0.043196581304073334, + 0.019278738647699356, + -0.15224716067314148, + -0.2090643346309662, + -0.022942913696169853, + 0.19368666410446167, + 0.18352189660072327, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275563478469849, + -0.24816834926605225, + -0.18776395916938782, + -0.224837064743042, + -0.16548432409763336, + -0.15414518117904663, + 0.0424068346619606, + -0.16628673672676086, + -0.2574871778488159, + -0.41565829515457153, + 0.0 + ], + [ + -0.101773701608181, + -0.09800735116004944, + 0.012208160012960434, + 0.0899810865521431, + 0.17996199429035187, + 0.04348631948232651, + -0.07909032702445984, + -0.09540719538927078, + 0.013694461435079575, + 0.15580445528030396, + 0.10954705625772476, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 47944 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 40320, + "recomputable_bytes": 39792, + "bytes_by_category": { + "primitive:scan": 36864, + "primitive:dot_general": 1216, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.262219208001625, + "first_execute_seconds": 0.009036540999659337, + "warm_seconds_median": 0.0016924160008784384, + "warm_seconds_mad": 0.0001574990019435063, + "peak_rss_bytes": 269139968, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.251493148358824e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.25149e-06", + "worker_pid": 88716, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302167892456, + -0.04737115651369095, + -0.058920178562402725, + -0.13894057273864746, + -0.17407821118831635, + -0.28565075993537903, + -0.04443169757723808, + -0.28800153732299805, + -0.3262191116809845, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313069611787796, + 0.0018172714626416564, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927870884537697, + -0.1522471308708191, + -0.20906439423561096, + -0.022942891344428062, + 0.19368672370910645, + 0.18352191150188446, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275564968585968, + -0.24816830456256866, + -0.18776391446590424, + -0.22483699023723602, + -0.16548430919647217, + -0.1541452407836914, + 0.042406849563121796, + -0.16628672182559967, + -0.2574871778488159, + -0.4156583249568939, + 0.0 + ], + [ + -0.10177376121282578, + -0.09800735116004944, + 0.012208115309476852, + 0.08998102694749832, + 0.17996199429035187, + 0.04348631948232651, + -0.07909011840820312, + -0.09540713578462601, + 0.013694468885660172, + 0.15580447018146515, + 0.10954699665307999, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 23016 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.054993541998556, + "first_execute_seconds": 0.007671833998756483, + "warm_seconds_median": 0.0007664999975531828, + "warm_seconds_mad": 1.9917002646252513e-05, + "peak_rss_bytes": 221822976, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.251493148358824e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.25149e-06", + "worker_pid": 88834, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302167892456, + -0.04737115651369095, + -0.058920178562402725, + -0.13894057273864746, + -0.17407821118831635, + -0.28565075993537903, + -0.04443169757723808, + -0.28800153732299805, + -0.3262191116809845, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313069611787796, + 0.0018172714626416564, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927870884537697, + -0.1522471308708191, + -0.20906439423561096, + -0.022942891344428062, + 0.19368672370910645, + 0.18352191150188446, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275564968585968, + -0.24816830456256866, + -0.18776391446590424, + -0.22483699023723602, + -0.16548430919647217, + -0.1541452407836914, + 0.042406849563121796, + -0.16628672182559967, + -0.2574871778488159, + -0.4156583249568939, + 0.0 + ], + [ + -0.10177376121282578, + -0.09800735116004944, + 0.012208115309476852, + 0.08998102694749832, + 0.17996199429035187, + 0.04348631948232651, + -0.07909011840820312, + -0.09540713578462601, + 0.013694468885660172, + 0.15580447018146515, + 0.10954699665307999, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 39496 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 9664, + "recomputable_bytes": 9136, + "bytes_by_category": { + "primitive:scan": 6784, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.87046783400001, + "first_execute_seconds": 0.025880625002173474, + "warm_seconds_median": 0.00269033299991861, + "warm_seconds_mad": 0.0012552090011013206, + "peak_rss_bytes": 245661696, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.271507172095247e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.27151e-06", + "worker_pid": 89108, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302242398262, + -0.04737111181020737, + -0.05892021209001541, + -0.13894055783748627, + -0.17407825589179993, + -0.2856506407260895, + -0.04443163797259331, + -0.28800153732299805, + -0.3262190520763397, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313010938465595, + 0.0018172714626416564, + -0.05270266905426979, + -0.07646042853593826, + 0.043196581304073334, + 0.019278738647699356, + -0.15224716067314148, + -0.2090643346309662, + -0.022942913696169853, + 0.19368666410446167, + 0.18352189660072327, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275563478469849, + -0.24816834926605225, + -0.18776395916938782, + -0.224837064743042, + -0.16548432409763336, + -0.15414518117904663, + 0.0424068346619606, + -0.16628673672676086, + -0.2574871778488159, + -0.41565829515457153, + 0.0 + ], + [ + -0.101773701608181, + -0.09800735116004944, + 0.012208160012960434, + 0.0899810865521431, + 0.17996199429035187, + 0.04348631948232651, + -0.07909032702445984, + -0.09540719538927078, + 0.013694461435079575, + 0.15580445528030396, + 0.10954705625772476, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 16656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5392, + "recomputable_bytes": 4544, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.284977750001417, + "first_execute_seconds": 0.012904499999422114, + "warm_seconds_median": 0.0011982920004811604, + "warm_seconds_mad": 1.4207998901838437e-05, + "peak_rss_bytes": 256983040, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.271507172095247e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.27151e-06", + "worker_pid": 89188, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302242398262, + -0.04737111181020737, + -0.05892021209001541, + -0.13894055783748627, + -0.17407825589179993, + -0.2856506407260895, + -0.04443163797259331, + -0.28800153732299805, + -0.3262190520763397, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313010938465595, + 0.0018172714626416564, + -0.05270266905426979, + -0.07646042853593826, + 0.043196581304073334, + 0.019278738647699356, + -0.15224716067314148, + -0.2090643346309662, + -0.022942913696169853, + 0.19368666410446167, + 0.18352189660072327, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275563478469849, + -0.24816834926605225, + -0.18776395916938782, + -0.224837064743042, + -0.16548432409763336, + -0.15414518117904663, + 0.0424068346619606, + -0.16628673672676086, + -0.2574871778488159, + -0.41565829515457153, + 0.0 + ], + [ + -0.101773701608181, + -0.09800735116004944, + 0.012208160012960434, + 0.0899810865521431, + 0.17996199429035187, + 0.04348631948232651, + -0.07909032702445984, + -0.09540719538927078, + 0.013694461435079575, + 0.15580445528030396, + 0.10954705625772476, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 31672 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5392, + "recomputable_bytes": 4544, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 8, + 15 + ], + [ + 14, + 16 + ], + [ + 13, + 27 + ], + [ + 23, + 24 + ], + [ + 18, + 23 + ], + [ + 1, + 3 + ], + [ + 2, + 24 + ], + [ + 1, + 5 + ], + [ + 10, + 11 + ], + [ + 4, + 20 + ], + [ + 12, + 13 + ], + [ + 8, + 12 + ], + [ + 4, + 5 + ], + [ + 3, + 13 + ], + [ + 1, + 11 + ], + [ + 3, + 5 + ], + [ + 4, + 14 + ], + [ + 7, + 10 + ], + [ + 0, + 12 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 25.638145832999726, + "first_execute_seconds": 0.05922350000037113, + "warm_seconds_median": 0.00754400000005262, + "warm_seconds_mad": 0.0036796249987673946, + "peak_rss_bytes": 198770688, + "energy_abs_error": 1.1444091796875e-05, + "gradient_relative_l2_error": 4.271507172095247e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.14441e-05, gradient=4.27151e-06", + "worker_pid": 89301, + "parent_pid": 74566, + "energy": -11.942816734313965, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.0729302242398262, + -0.04737111181020737, + -0.05892021209001541, + -0.13894055783748627, + -0.17407825589179993, + -0.2856506407260895, + -0.04443163797259331, + -0.28800153732299805, + -0.3262190520763397, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313010938465595, + 0.0018172714626416564, + -0.05270266905426979, + -0.07646042853593826, + 0.043196581304073334, + 0.019278738647699356, + -0.15224716067314148, + -0.2090643346309662, + -0.022942913696169853, + 0.19368666410446167, + 0.18352189660072327, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275563478469849, + -0.24816834926605225, + -0.18776395916938782, + -0.224837064743042, + -0.16548432409763336, + -0.15414518117904663, + 0.0424068346619606, + -0.16628673672676086, + -0.2574871778488159, + -0.41565829515457153, + 0.0 + ], + [ + -0.101773701608181, + -0.09800735116004944, + 0.012208160012960434, + 0.0899810865521431, + 0.17996199429035187, + 0.04348631948232651, + -0.07909032702445984, + -0.09540719538927078, + 0.013694461435079575, + 0.15580445528030396, + 0.10954705625772476, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 41864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6544, + "bulk_block_path_flops": 6544, + "tail_path_flops": 0, + "last_path_flops": 548, + "estimated_energy_flops": 33764, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 33764, + "total_backward_flops": 67324, + "total_flops": 101088, + "total_traffic_elements": 31791, + "total_traffic_bytes": 254328, + "peak_role_residual_elements": 1124, + "static_score": 246236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6544, + "backward_flops": 13056, + "forward_read_elements": 1124, + "forward_write_elements": 884, + "backward_read_elements": 2892, + "backward_write_elements": 1124, + "residual_elements": 1124, + "peak_live_residual_elements": 1124, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19600, + "traffic_elements": 6024 + }, + "tail": null, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5392, + "recomputable_bytes": 4544, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 384, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.3504472080021515, + "first_execute_seconds": 0.004158416999416659, + "warm_seconds_median": 0.0008682500010763761, + "warm_seconds_mad": 2.120899807778187e-05, + "peak_rss_bytes": 274284544, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.945893766650212e-06, + "valid": true, + "failure": null, + "worker_pid": 89705, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293020188808441, + -0.04737129062414169, + -0.058920230716466904, + -0.13894067704677582, + -0.17407852411270142, + -0.2856508791446686, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871099650859833, + 0.0 + ], + [ + -0.011313309893012047, + 0.001817219308577478, + -0.05270257964730263, + -0.0764603242278099, + 0.04319676011800766, + 0.019278693944215775, + -0.15224739909172058, + -0.20906436443328857, + -0.02294306829571724, + 0.19368693232536316, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776395916938782, + -0.22483715415000916, + -0.16548442840576172, + -0.15414516627788544, + 0.04240686073899269, + -0.16628673672676086, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800742566585541, + 0.012208233587443829, + 0.08998123556375504, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540712088346481, + 0.013694379478693008, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 52960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 282, + "total_bytes": 37712, + "recomputable_bytes": 36832, + "bytes_by_category": { + "primitive:scan": 29280, + "primitive:dot_general": 4128, + "primitive:stack": 768, + "primitive:conj": 736, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 14.962944791001064, + "first_execute_seconds": 0.031027375000121538, + "warm_seconds_median": 0.0014023330004420131, + "warm_seconds_mad": 0.00043666599958669394, + "peak_rss_bytes": 238551040, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.945893766650212e-06, + "valid": true, + "failure": null, + "worker_pid": 89844, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293020188808441, + -0.04737129062414169, + -0.058920230716466904, + -0.13894067704677582, + -0.17407852411270142, + -0.2856508791446686, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871099650859833, + 0.0 + ], + [ + -0.011313309893012047, + 0.001817219308577478, + -0.05270257964730263, + -0.0764603242278099, + 0.04319676011800766, + 0.019278693944215775, + -0.15224739909172058, + -0.20906436443328857, + -0.02294306829571724, + 0.19368693232536316, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776395916938782, + -0.22483715415000916, + -0.16548442840576172, + -0.15414516627788544, + 0.04240686073899269, + -0.16628673672676086, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800742566585541, + 0.012208233587443829, + 0.08998123556375504, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540712088346481, + 0.013694379478693008, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 44424 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 282, + "total_bytes": 37712, + "recomputable_bytes": 36832, + "bytes_by_category": { + "primitive:scan": 29280, + "primitive:dot_general": 4128, + "primitive:stack": 768, + "primitive:conj": 736, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 14.965211208000255, + "first_execute_seconds": 0.014562833999661962, + "warm_seconds_median": 0.005673457999364473, + "warm_seconds_mad": 0.003958582998166094, + "peak_rss_bytes": 250494976, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.945893766650212e-06, + "valid": true, + "failure": null, + "worker_pid": 90014, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293020188808441, + -0.04737129062414169, + -0.058920230716466904, + -0.13894067704677582, + -0.17407852411270142, + -0.2856508791446686, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871099650859833, + 0.0 + ], + [ + -0.011313309893012047, + 0.001817219308577478, + -0.05270257964730263, + -0.0764603242278099, + 0.04319676011800766, + 0.019278693944215775, + -0.15224739909172058, + -0.20906436443328857, + -0.02294306829571724, + 0.19368693232536316, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776395916938782, + -0.22483715415000916, + -0.16548442840576172, + -0.15414516627788544, + 0.04240686073899269, + -0.16628673672676086, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800742566585541, + 0.012208233587443829, + 0.08998123556375504, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540712088346481, + 0.013694379478693008, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 282, + "total_bytes": 37712, + "recomputable_bytes": 36832, + "bytes_by_category": { + "primitive:scan": 29280, + "primitive:dot_general": 4128, + "primitive:stack": 768, + "primitive:conj": 736, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.469387041001028, + "first_execute_seconds": 0.007921833002910716, + "warm_seconds_median": 0.0008818340029392857, + "warm_seconds_mad": 9.775100261322223e-05, + "peak_rss_bytes": 284246016, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0229984533886954e-06, + "valid": true, + "failure": null, + "worker_pid": 90250, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293017208576202, + -0.04737124592065811, + -0.0589202456176281, + -0.13894066214561462, + -0.17407846450805664, + -0.28565096855163574, + -0.044431574642658234, + -0.2880017161369324, + -0.32621926069259644, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313250288367271, + 0.0018171522533521056, + -0.05270254984498024, + -0.0764603391289711, + 0.043196775019168854, + 0.01927875354886055, + -0.1522473692893982, + -0.2090643346309662, + -0.02294302172958851, + 0.19368690252304077, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275570929050446, + -0.24816837906837463, + -0.18776386976242065, + -0.22483709454536438, + -0.16548436880111694, + -0.15414513647556305, + 0.04240689054131508, + -0.16628679633140564, + -0.25748714804649353, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177404433488846, + -0.0980074405670166, + 0.012208233587443829, + 0.08998117595911026, + 0.17996229231357574, + 0.04348641261458397, + -0.07909026741981506, + -0.09540709108114243, + 0.013694409281015396, + 0.15580451488494873, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 30248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 249, + "total_bytes": 10736, + "recomputable_bytes": 9856, + "bytes_by_category": { + "primitive:scan": 5568, + "primitive:conj": 1184, + "primitive:stack": 1088, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "primitive:concatenate": 256, + "literal": 240, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.781505374998233, + "first_execute_seconds": 0.009115332999499515, + "warm_seconds_median": 0.004044625002279645, + "warm_seconds_mad": 0.0027687500005413312, + "peak_rss_bytes": 228032512, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0229984533886954e-06, + "valid": true, + "failure": null, + "worker_pid": 90374, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293017208576202, + -0.04737124592065811, + -0.0589202456176281, + -0.13894066214561462, + -0.17407846450805664, + -0.28565096855163574, + -0.044431574642658234, + -0.2880017161369324, + -0.32621926069259644, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313250288367271, + 0.0018171522533521056, + -0.05270254984498024, + -0.0764603391289711, + 0.043196775019168854, + 0.01927875354886055, + -0.1522473692893982, + -0.2090643346309662, + -0.02294302172958851, + 0.19368690252304077, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275570929050446, + -0.24816837906837463, + -0.18776386976242065, + -0.22483709454536438, + -0.16548436880111694, + -0.15414513647556305, + 0.04240689054131508, + -0.16628679633140564, + -0.25748714804649353, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177404433488846, + -0.0980074405670166, + 0.012208233587443829, + 0.08998117595911026, + 0.17996229231357574, + 0.04348641261458397, + -0.07909026741981506, + -0.09540709108114243, + 0.013694409281015396, + 0.15580451488494873, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40536 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 249, + "total_bytes": 10736, + "recomputable_bytes": 9856, + "bytes_by_category": { + "primitive:scan": 5568, + "primitive:conj": 1184, + "primitive:stack": 1088, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "primitive:concatenate": 256, + "literal": 240, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.765174957999989, + "first_execute_seconds": 0.004989083001419203, + "warm_seconds_median": 0.0009436250002181623, + "warm_seconds_mad": 3.833299706457183e-05, + "peak_rss_bytes": 239796224, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.945893766650212e-06, + "valid": true, + "failure": null, + "worker_pid": 90562, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293020188808441, + -0.04737129062414169, + -0.058920230716466904, + -0.13894067704677582, + -0.17407852411270142, + -0.2856508791446686, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871099650859833, + 0.0 + ], + [ + -0.011313309893012047, + 0.001817219308577478, + -0.05270257964730263, + -0.0764603242278099, + 0.04319676011800766, + 0.019278693944215775, + -0.15224739909172058, + -0.20906436443328857, + -0.02294306829571724, + 0.19368693232536316, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776395916938782, + -0.22483715415000916, + -0.16548442840576172, + -0.15414516627788544, + 0.04240686073899269, + -0.16628673672676086, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800742566585541, + 0.012208233587443829, + 0.08998123556375504, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540712088346481, + 0.013694379478693008, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 23000 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5584, + "recomputable_bytes": 4160, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 1088, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:reshape": 216, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.69438716699733, + "first_execute_seconds": 0.009009667002828792, + "warm_seconds_median": 0.001336375000391854, + "warm_seconds_mad": 0.00017474999913247302, + "peak_rss_bytes": 230785024, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.945893766650212e-06, + "valid": true, + "failure": null, + "worker_pid": 90712, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293020188808441, + -0.04737129062414169, + -0.058920230716466904, + -0.13894067704677582, + -0.17407852411270142, + -0.2856508791446686, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871099650859833, + 0.0 + ], + [ + -0.011313309893012047, + 0.001817219308577478, + -0.05270257964730263, + -0.0764603242278099, + 0.04319676011800766, + 0.019278693944215775, + -0.15224739909172058, + -0.20906436443328857, + -0.02294306829571724, + 0.19368693232536316, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776395916938782, + -0.22483715415000916, + -0.16548442840576172, + -0.15414516627788544, + 0.04240686073899269, + -0.16628673672676086, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800742566585541, + 0.012208233587443829, + 0.08998123556375504, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540712088346481, + 0.013694379478693008, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 45400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5584, + "recomputable_bytes": 4160, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 1088, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:reshape": 216, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 30, + 37 + ], + [ + 31, + 32 + ], + [ + 29, + 30 + ], + [ + 23, + 24 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 2, + 9 + ], + [ + 24, + 25 + ], + [ + 29, + 35 + ], + [ + 12, + 18 + ], + [ + 25, + 26 + ], + [ + 10, + 11 + ], + [ + 20, + 21 + ], + [ + 23, + 28 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 8, + 14 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 22 + ], + [ + 5, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 1 + ], + [ + 8, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 7, + 12 + ], + [ + 7, + 13 + ], + [ + 9, + 14 + ], + [ + 1, + 10 + ], + [ + 3, + 8 + ], + [ + 1, + 10 + ], + [ + 6, + 9 + ], + [ + 4, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 14.04375112499838, + "first_execute_seconds": 0.00974237500122399, + "warm_seconds_median": 0.0010750830006145407, + "warm_seconds_mad": 0.0001324580007349141, + "peak_rss_bytes": 255918080, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.945893766650212e-06, + "valid": true, + "failure": null, + "worker_pid": 90841, + "parent_pid": 74566, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293020188808441, + -0.04737129062414169, + -0.058920230716466904, + -0.13894067704677582, + -0.17407852411270142, + -0.2856508791446686, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871099650859833, + 0.0 + ], + [ + -0.011313309893012047, + 0.001817219308577478, + -0.05270257964730263, + -0.0764603242278099, + 0.04319676011800766, + 0.019278693944215775, + -0.15224739909172058, + -0.20906436443328857, + -0.02294306829571724, + 0.19368693232536316, + 0.1835220456123352, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776395916938782, + -0.22483715415000916, + -0.16548442840576172, + -0.15414516627788544, + 0.04240686073899269, + -0.16628673672676086, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800742566585541, + 0.012208233587443829, + 0.08998123556375504, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540712088346481, + 0.013694379478693008, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 45144 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 10912, + "bulk_block_path_flops": 10912, + "tail_path_flops": 3152, + "last_path_flops": 548, + "estimated_energy_flops": 36932, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36932, + "total_backward_flops": 73652, + "total_flops": 110584, + "total_traffic_elements": 31455, + "total_traffic_bytes": 251640, + "peak_role_residual_elements": 1664, + "static_score": 263028, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10912, + "backward_flops": 21776, + "forward_read_elements": 1664, + "forward_write_elements": 1304, + "backward_read_elements": 4272, + "backward_write_elements": 1664, + "residual_elements": 1664, + "peak_live_residual_elements": 1664, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32688, + "traffic_elements": 8904 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5584, + "recomputable_bytes": 4160, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 1088, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:reshape": 216, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 28, + 35 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 16, + 22 + ], + [ + 34, + 36 + ], + [ + 45, + 46 + ], + [ + 34, + 40 + ], + [ + 21, + 22 + ], + [ + 6, + 42 + ], + [ + 31, + 45 + ], + [ + 9, + 10 + ], + [ + 32, + 42 + ], + [ + 4, + 5 + ], + [ + 1, + 34 + ], + [ + 23, + 24 + ], + [ + 33, + 42 + ], + [ + 15, + 35 + ], + [ + 23, + 24 + ], + [ + 19, + 20 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 1, + 32 + ], + [ + 21, + 33 + ], + [ + 10, + 30 + ], + [ + 9, + 21 + ], + [ + 11, + 13 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 13 + ], + [ + 4, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 15 + ], + [ + 3, + 15 + ], + [ + 2, + 12 + ], + [ + 1, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 7 + ], + [ + 12, + 16 + ], + [ + 10, + 13 + ], + [ + 17, + 18 + ], + [ + 7, + 16 + ], + [ + 12, + 15 + ], + [ + 5, + 13 + ], + [ + 5, + 11 + ], + [ + 1, + 8 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 0, + 8 + ], + [ + 1, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 21, + 22 + ], + [ + 12, + 13 + ], + [ + 0, + 19 + ], + [ + 0, + 18 + ], + [ + 13, + 14 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 9, + 12 + ], + [ + 6, + 7 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 7, + 11 + ], + [ + 0, + 11 + ], + [ + 5, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 1, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.991695374999836, + "first_execute_seconds": 0.010766041999886511, + "warm_seconds_median": 0.0008909169991966337, + "warm_seconds_mad": 8.091600102488883e-05, + "peak_rss_bytes": 296386560, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.940386520774871e-06, + "valid": true, + "failure": null, + "worker_pid": 91050, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293030619621277, + -0.04737120121717453, + -0.05892020836472511, + -0.1389407515525818, + -0.17407850921154022, + -0.28565117716789246, + -0.044431574642658234, + -0.2880018651485443, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131337322294712, + 0.001817219308577478, + -0.05270254984498024, + -0.07646050304174423, + 0.04319680482149124, + 0.019278716295957565, + -0.15224739909172058, + -0.20906448364257812, + -0.022942854091525078, + 0.1936868131160736, + 0.1835220605134964, + 0.059222057461738586 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275579869747162, + -0.24816857278347015, + -0.18776404857635498, + -0.2248372733592987, + -0.1654844582080841, + -0.1541452407836914, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800739586353302, + 0.012208249419927597, + 0.08998117595911026, + 0.17996235191822052, + 0.043486472219228745, + -0.07909026741981506, + -0.09540713578462601, + 0.013694461435079575, + 0.15580452978610992, + 0.1095472052693367, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 62240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15168, + "bulk_block_path_flops": 15168, + "tail_path_flops": 6512, + "last_path_flops": 548, + "estimated_energy_flops": 37892, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 37892, + "total_backward_flops": 75580, + "total_flops": 113472, + "total_traffic_elements": 31935, + "total_traffic_bytes": 255480, + "peak_role_residual_elements": 2272, + "static_score": 277564, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15168, + "backward_flops": 30272, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45440, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5880 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 41888, + "recomputable_bytes": 40656, + "bytes_by_category": { + "primitive:scan": 29696, + "primitive:dot_general": 6816, + "primitive:stack": 960, + "primitive:conj": 944, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 160, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 28, + 35 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 16, + 22 + ], + [ + 34, + 36 + ], + [ + 45, + 46 + ], + [ + 34, + 40 + ], + [ + 21, + 22 + ], + [ + 6, + 42 + ], + [ + 31, + 45 + ], + [ + 9, + 10 + ], + [ + 32, + 42 + ], + [ + 4, + 5 + ], + [ + 1, + 34 + ], + [ + 23, + 24 + ], + [ + 33, + 42 + ], + [ + 15, + 35 + ], + [ + 23, + 24 + ], + [ + 19, + 20 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 1, + 32 + ], + [ + 21, + 33 + ], + [ + 10, + 30 + ], + [ + 9, + 21 + ], + [ + 11, + 13 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 13 + ], + [ + 4, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 15 + ], + [ + 3, + 15 + ], + [ + 2, + 12 + ], + [ + 1, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 7 + ], + [ + 12, + 16 + ], + [ + 10, + 13 + ], + [ + 17, + 18 + ], + [ + 7, + 16 + ], + [ + 12, + 15 + ], + [ + 5, + 13 + ], + [ + 5, + 11 + ], + [ + 1, + 8 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 0, + 8 + ], + [ + 1, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 21, + 22 + ], + [ + 12, + 13 + ], + [ + 0, + 19 + ], + [ + 0, + 18 + ], + [ + 13, + 14 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 9, + 12 + ], + [ + 6, + 7 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 7, + 11 + ], + [ + 0, + 11 + ], + [ + 5, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 1, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.198252166999737, + "first_execute_seconds": 0.015944541999488138, + "warm_seconds_median": 0.0012422090003383346, + "warm_seconds_mad": 0.0002485010008967947, + "peak_rss_bytes": 207650816, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.940386520774871e-06, + "valid": true, + "failure": null, + "worker_pid": 91495, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293030619621277, + -0.04737120121717453, + -0.05892020836472511, + -0.1389407515525818, + -0.17407850921154022, + -0.28565117716789246, + -0.044431574642658234, + -0.2880018651485443, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131337322294712, + 0.001817219308577478, + -0.05270254984498024, + -0.07646050304174423, + 0.04319680482149124, + 0.019278716295957565, + -0.15224739909172058, + -0.20906448364257812, + -0.022942854091525078, + 0.1936868131160736, + 0.1835220605134964, + 0.059222057461738586 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275579869747162, + -0.24816857278347015, + -0.18776404857635498, + -0.2248372733592987, + -0.1654844582080841, + -0.1541452407836914, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800739586353302, + 0.012208249419927597, + 0.08998117595911026, + 0.17996235191822052, + 0.043486472219228745, + -0.07909026741981506, + -0.09540713578462601, + 0.013694461435079575, + 0.15580452978610992, + 0.1095472052693367, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15168, + "bulk_block_path_flops": 15168, + "tail_path_flops": 6512, + "last_path_flops": 548, + "estimated_energy_flops": 37892, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 37892, + "total_backward_flops": 75580, + "total_flops": 113472, + "total_traffic_elements": 31935, + "total_traffic_bytes": 255480, + "peak_role_residual_elements": 2272, + "static_score": 277564, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15168, + "backward_flops": 30272, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45440, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5880 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 41888, + "recomputable_bytes": 40656, + "bytes_by_category": { + "primitive:scan": 29696, + "primitive:dot_general": 6816, + "primitive:stack": 960, + "primitive:conj": 944, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 160, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 28, + 35 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 16, + 22 + ], + [ + 34, + 36 + ], + [ + 45, + 46 + ], + [ + 34, + 40 + ], + [ + 21, + 22 + ], + [ + 6, + 42 + ], + [ + 31, + 45 + ], + [ + 9, + 10 + ], + [ + 32, + 42 + ], + [ + 4, + 5 + ], + [ + 1, + 34 + ], + [ + 23, + 24 + ], + [ + 33, + 42 + ], + [ + 15, + 35 + ], + [ + 23, + 24 + ], + [ + 19, + 20 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 1, + 32 + ], + [ + 21, + 33 + ], + [ + 10, + 30 + ], + [ + 9, + 21 + ], + [ + 11, + 13 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 13 + ], + [ + 4, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 15 + ], + [ + 3, + 15 + ], + [ + 2, + 12 + ], + [ + 1, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 7 + ], + [ + 12, + 16 + ], + [ + 10, + 13 + ], + [ + 17, + 18 + ], + [ + 7, + 16 + ], + [ + 12, + 15 + ], + [ + 5, + 13 + ], + [ + 5, + 11 + ], + [ + 1, + 8 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 0, + 8 + ], + [ + 1, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 21, + 22 + ], + [ + 12, + 13 + ], + [ + 0, + 19 + ], + [ + 0, + 18 + ], + [ + 13, + 14 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 9, + 12 + ], + [ + 6, + 7 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 7, + 11 + ], + [ + 0, + 11 + ], + [ + 5, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 1, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 18.242969750001066, + "first_execute_seconds": 0.06368233299872372, + "warm_seconds_median": 0.002573833000496961, + "warm_seconds_mad": 0.0002706669984036125, + "peak_rss_bytes": 239992832, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.921573847076622e-06, + "valid": true, + "failure": null, + "worker_pid": 91786, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293034344911575, + -0.04737124592065811, + -0.0589202418923378, + -0.1389407068490982, + -0.1740785539150238, + -0.28565123677253723, + -0.044431544840335846, + -0.28800177574157715, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313431896269321, + 0.001817219308577478, + -0.052702609449625015, + -0.07646054774522781, + 0.04319686442613602, + 0.01927867904305458, + -0.15224739909172058, + -0.2090645730495453, + -0.02294282801449299, + 0.19368678331375122, + 0.1835220754146576, + 0.059222057461738586 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275573909282684, + -0.24816858768463135, + -0.1877640336751938, + -0.2248373031616211, + -0.16548451781272888, + -0.15414530038833618, + 0.04240690544247627, + -0.16628681123256683, + -0.2574872374534607, + -0.415658563375473, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800739586353302, + 0.012208294123411179, + 0.08998114615678787, + 0.17996229231357574, + 0.04348644241690636, + -0.07909032702445984, + -0.09540712088346481, + 0.013694461435079575, + 0.15580454468727112, + 0.10954723507165909, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 36584 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15168, + "bulk_block_path_flops": 15168, + "tail_path_flops": 6512, + "last_path_flops": 548, + "estimated_energy_flops": 37892, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 37892, + "total_backward_flops": 75580, + "total_flops": 113472, + "total_traffic_elements": 31935, + "total_traffic_bytes": 255480, + "peak_role_residual_elements": 2272, + "static_score": 277564, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15168, + "backward_flops": 30272, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45440, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5880 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 28, + 35 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 16, + 22 + ], + [ + 34, + 36 + ], + [ + 45, + 46 + ], + [ + 34, + 40 + ], + [ + 21, + 22 + ], + [ + 6, + 42 + ], + [ + 31, + 45 + ], + [ + 9, + 10 + ], + [ + 32, + 42 + ], + [ + 4, + 5 + ], + [ + 1, + 34 + ], + [ + 23, + 24 + ], + [ + 33, + 42 + ], + [ + 15, + 35 + ], + [ + 23, + 24 + ], + [ + 19, + 20 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 1, + 32 + ], + [ + 21, + 33 + ], + [ + 10, + 30 + ], + [ + 9, + 21 + ], + [ + 11, + 13 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 13 + ], + [ + 4, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 15 + ], + [ + 3, + 15 + ], + [ + 2, + 12 + ], + [ + 1, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 7 + ], + [ + 12, + 16 + ], + [ + 10, + 13 + ], + [ + 17, + 18 + ], + [ + 7, + 16 + ], + [ + 12, + 15 + ], + [ + 5, + 13 + ], + [ + 5, + 11 + ], + [ + 1, + 8 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 0, + 8 + ], + [ + 1, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 21, + 22 + ], + [ + 12, + 13 + ], + [ + 0, + 19 + ], + [ + 0, + 18 + ], + [ + 13, + 14 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 9, + 12 + ], + [ + 6, + 7 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 7, + 11 + ], + [ + 0, + 11 + ], + [ + 5, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 1, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 17.22384562500156, + "first_execute_seconds": 0.11115912499735714, + "warm_seconds_median": 0.0014697909973619971, + "warm_seconds_mad": 0.0004728739950223826, + "peak_rss_bytes": 228589568, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.921573847076622e-06, + "valid": true, + "failure": null, + "worker_pid": 92058, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293034344911575, + -0.04737124592065811, + -0.0589202418923378, + -0.1389407068490982, + -0.1740785539150238, + -0.28565123677253723, + -0.044431544840335846, + -0.28800177574157715, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313431896269321, + 0.001817219308577478, + -0.052702609449625015, + -0.07646054774522781, + 0.04319686442613602, + 0.01927867904305458, + -0.15224739909172058, + -0.2090645730495453, + -0.02294282801449299, + 0.19368678331375122, + 0.1835220754146576, + 0.059222057461738586 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275573909282684, + -0.24816858768463135, + -0.1877640336751938, + -0.2248373031616211, + -0.16548451781272888, + -0.15414530038833618, + 0.04240690544247627, + -0.16628681123256683, + -0.2574872374534607, + -0.415658563375473, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800739586353302, + 0.012208294123411179, + 0.08998114615678787, + 0.17996229231357574, + 0.04348644241690636, + -0.07909032702445984, + -0.09540712088346481, + 0.013694461435079575, + 0.15580454468727112, + 0.10954723507165909, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 44312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15168, + "bulk_block_path_flops": 15168, + "tail_path_flops": 6512, + "last_path_flops": 548, + "estimated_energy_flops": 37892, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 37892, + "total_backward_flops": 75580, + "total_flops": 113472, + "total_traffic_elements": 31935, + "total_traffic_bytes": 255480, + "peak_role_residual_elements": 2272, + "static_score": 277564, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15168, + "backward_flops": 30272, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45440, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5880 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 11504, + "recomputable_bytes": 10272, + "bytes_by_category": { + "primitive:scan": 4736, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 28, + 35 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 16, + 22 + ], + [ + 34, + 36 + ], + [ + 45, + 46 + ], + [ + 34, + 40 + ], + [ + 21, + 22 + ], + [ + 6, + 42 + ], + [ + 31, + 45 + ], + [ + 9, + 10 + ], + [ + 32, + 42 + ], + [ + 4, + 5 + ], + [ + 1, + 34 + ], + [ + 23, + 24 + ], + [ + 33, + 42 + ], + [ + 15, + 35 + ], + [ + 23, + 24 + ], + [ + 19, + 20 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 1, + 32 + ], + [ + 21, + 33 + ], + [ + 10, + 30 + ], + [ + 9, + 21 + ], + [ + 11, + 13 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 13 + ], + [ + 4, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 15 + ], + [ + 3, + 15 + ], + [ + 2, + 12 + ], + [ + 1, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 7 + ], + [ + 12, + 16 + ], + [ + 10, + 13 + ], + [ + 17, + 18 + ], + [ + 7, + 16 + ], + [ + 12, + 15 + ], + [ + 5, + 13 + ], + [ + 5, + 11 + ], + [ + 1, + 8 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 0, + 8 + ], + [ + 1, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 21, + 22 + ], + [ + 12, + 13 + ], + [ + 0, + 19 + ], + [ + 0, + 18 + ], + [ + 13, + 14 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 9, + 12 + ], + [ + 6, + 7 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 7, + 11 + ], + [ + 0, + 11 + ], + [ + 5, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 1, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.506772542001272, + "first_execute_seconds": 0.012887207998574013, + "warm_seconds_median": 0.0015351250003732275, + "warm_seconds_mad": 0.00030050000350456685, + "peak_rss_bytes": 280100864, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.940386520774871e-06, + "valid": true, + "failure": null, + "worker_pid": 92270, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293030619621277, + -0.04737120121717453, + -0.05892020836472511, + -0.1389407515525818, + -0.17407850921154022, + -0.28565117716789246, + -0.044431574642658234, + -0.2880018651485443, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131337322294712, + 0.001817219308577478, + -0.05270254984498024, + -0.07646050304174423, + 0.04319680482149124, + 0.019278716295957565, + -0.15224739909172058, + -0.20906448364257812, + -0.022942854091525078, + 0.1936868131160736, + 0.1835220605134964, + 0.059222057461738586 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275579869747162, + -0.24816857278347015, + -0.18776404857635498, + -0.2248372733592987, + -0.1654844582080841, + -0.1541452407836914, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800739586353302, + 0.012208249419927597, + 0.08998117595911026, + 0.17996235191822052, + 0.043486472219228745, + -0.07909026741981506, + -0.09540713578462601, + 0.013694461435079575, + 0.15580452978610992, + 0.1095472052693367, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 30112 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15168, + "bulk_block_path_flops": 15168, + "tail_path_flops": 6512, + "last_path_flops": 548, + "estimated_energy_flops": 37892, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 37892, + "total_backward_flops": 75580, + "total_flops": 113472, + "total_traffic_elements": 31935, + "total_traffic_bytes": 255480, + "peak_role_residual_elements": 2272, + "static_score": 277564, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15168, + "backward_flops": 30272, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45440, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5880 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5712, + "recomputable_bytes": 3776, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 1088, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 208, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 28, + 35 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 16, + 22 + ], + [ + 34, + 36 + ], + [ + 45, + 46 + ], + [ + 34, + 40 + ], + [ + 21, + 22 + ], + [ + 6, + 42 + ], + [ + 31, + 45 + ], + [ + 9, + 10 + ], + [ + 32, + 42 + ], + [ + 4, + 5 + ], + [ + 1, + 34 + ], + [ + 23, + 24 + ], + [ + 33, + 42 + ], + [ + 15, + 35 + ], + [ + 23, + 24 + ], + [ + 19, + 20 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 1, + 32 + ], + [ + 21, + 33 + ], + [ + 10, + 30 + ], + [ + 9, + 21 + ], + [ + 11, + 13 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 13 + ], + [ + 4, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 15 + ], + [ + 3, + 15 + ], + [ + 2, + 12 + ], + [ + 1, + 8 + ], + [ + 3, + 14 + ], + [ + 3, + 7 + ], + [ + 12, + 16 + ], + [ + 10, + 13 + ], + [ + 17, + 18 + ], + [ + 7, + 16 + ], + [ + 12, + 15 + ], + [ + 5, + 13 + ], + [ + 5, + 11 + ], + [ + 1, + 8 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 0, + 8 + ], + [ + 1, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 21, + 22 + ], + [ + 12, + 13 + ], + [ + 0, + 19 + ], + [ + 0, + 18 + ], + [ + 13, + 14 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 9, + 12 + ], + [ + 6, + 7 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 7, + 11 + ], + [ + 0, + 11 + ], + [ + 5, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 1, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 5, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.539204958000482, + "first_execute_seconds": 0.007934207998914644, + "warm_seconds_median": 0.000889457998709986, + "warm_seconds_mad": 0.00020779099941137247, + "peak_rss_bytes": 389070848, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.940386520774871e-06, + "valid": true, + "failure": null, + "worker_pid": 92426, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.07293030619621277, + -0.04737120121717453, + -0.05892020836472511, + -0.1389407515525818, + -0.17407850921154022, + -0.28565117716789246, + -0.044431574642658234, + -0.2880018651485443, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131337322294712, + 0.001817219308577478, + -0.05270254984498024, + -0.07646050304174423, + 0.04319680482149124, + 0.019278716295957565, + -0.15224739909172058, + -0.20906448364257812, + -0.022942854091525078, + 0.1936868131160736, + 0.1835220605134964, + 0.059222057461738586 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275579869747162, + -0.24816857278347015, + -0.18776404857635498, + -0.2248372733592987, + -0.1654844582080841, + -0.1541452407836914, + 0.04240689054131508, + -0.16628679633140564, + -0.2574872374534607, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800739586353302, + 0.012208249419927597, + 0.08998117595911026, + 0.17996235191822052, + 0.043486472219228745, + -0.07909026741981506, + -0.09540713578462601, + 0.013694461435079575, + 0.15580452978610992, + 0.1095472052693367, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 50136 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15168, + "bulk_block_path_flops": 15168, + "tail_path_flops": 6512, + "last_path_flops": 548, + "estimated_energy_flops": 37892, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 37892, + "total_backward_flops": 75580, + "total_flops": 113472, + "total_traffic_elements": 31935, + "total_traffic_bytes": 255480, + "peak_role_residual_elements": 2272, + "static_score": 277564, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15168, + "backward_flops": 30272, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45440, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5880 + }, + "last": { + "forward_flops": 548, + "backward_flops": 1068, + "forward_read_elements": 202, + "forward_write_elements": 91, + "backward_read_elements": 384, + "backward_write_elements": 202, + "residual_elements": 202, + "peak_live_residual_elements": 202, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1616, + "traffic_elements": 879 + } + } + }, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5712, + "recomputable_bytes": 3776, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 1088, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 208, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 5.936973500000022, + "first_execute_seconds": 0.016141792002599686, + "warm_seconds_median": 0.0038719580006727483, + "warm_seconds_mad": 0.00028183300310047343, + "peak_rss_bytes": 235651072, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 74622, + "parent_pid": 74566, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.0729302316904068, + -0.0473712757229805, + -0.058920182287693024, + -0.13894063234329224, + -0.17407861351966858, + -0.28565138578414917, + -0.044431693851947784, + -0.288002073764801, + -0.32621902227401733, + -0.38711029291152954, + 0.0 + ], + [ + -0.011313254944980145, + 0.0018168840324506164, + -0.05270148068666458, + -0.0764598473906517, + 0.043196894228458405, + 0.01927817240357399, + -0.1522495448589325, + -0.20906610786914825, + -0.02294367551803589, + 0.19368714094161987, + 0.1835225522518158, + 0.059220921248197556 + ] + ], + [ + [ + 0.2825295925140381, + -0.07275639474391937, + -0.24816745519638062, + -0.18776455521583557, + -0.2248382866382599, + -0.16548416018486023, + -0.15414561331272125, + 0.04240597039461136, + -0.16628773510456085, + -0.25748759508132935, + -0.41565966606140137, + 0.0 + ], + [ + -0.10177331417798996, + -0.09800641983747482, + 0.012208650819957256, + 0.08998209983110428, + 0.17996220290660858, + 0.04348596930503845, + -0.07909044623374939, + -0.0954071506857872, + 0.01369461789727211, + 0.1558043211698532, + 0.10954675823450089, + 0.039107635617256165 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 520, + "temp_size_in_bytes": 3481544 + }, + "static_estimate": { + "parameter_count": 46, + "state_bytes": 32768, + "saved_boundary_upper_bound_bytes": 98304, + "estimated_forward_gate_applications": 46, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-report-n8-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-report-n8-d2.json new file mode 100644 index 000000000..f9b813591 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ad-aware-report-n8-d2.json @@ -0,0 +1,40390 @@ +{ + "request": { + "spec": { + "nqubits": 8, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6037619580019964, + "first_execute_seconds": 0.002971875001094304, + "warm_seconds_median": 0.0010328329990443308, + "warm_seconds_mad": 7.904099766165018e-05, + "peak_rss_bytes": 263061504, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72251, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12296 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1216, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.690359958000045, + "first_execute_seconds": 0.05077225000059116, + "warm_seconds_median": 0.0019436659968050662, + "warm_seconds_mad": 0.0006302489964582492, + "peak_rss_bytes": 168869888, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 58951, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 17.70278595799755, + "first_execute_seconds": 0.039497750000009546, + "warm_seconds_median": 0.001332750001893146, + "warm_seconds_mad": 0.0005952080027782358, + "peak_rss_bytes": 179077120, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5681979518872939e-06, + "valid": true, + "failure": null, + "worker_pid": 60643, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558230072259903, + 0.16267918050289154, + 0.4295189380645752, + 0.5784918069839478, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016324140597134829, + -0.0491691417992115, + -0.07137016952037811, + 0.042529355734586716, + 0.018034664914011955, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095188826322556, + 0.3724290728569031, + 0.3628048598766327, + -0.10408811271190643, + 0.4185928404331207, + 0.24043141305446625, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864838883280754, + -0.21433725953102112, + -0.048685092478990555, + -0.10687984526157379, + -0.22707566618919373, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.4082900419998623, + "first_execute_seconds": 0.012740624999423744, + "warm_seconds_median": 0.0004976249983883463, + "warm_seconds_mad": 3.7790996429976076e-05, + "peak_rss_bytes": 221806592, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 68570, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 27232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.8672789159973036, + "first_execute_seconds": 0.006780166000680765, + "warm_seconds_median": 0.00073533300019335, + "warm_seconds_mad": 3.0000999686308205e-05, + "peak_rss_bytes": 222740480, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.261827019915652e-06, + "valid": true, + "failure": null, + "worker_pid": 68717, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.1626792550086975, + 0.4295191764831543, + 0.5784919261932373, + 0.14390482008457184, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016315150423906744, + -0.04916922375559807, + -0.0713701918721199, + 0.04252944141626358, + 0.01803465746343136, + -0.16026045382022858, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522607922554, + 0.3724292814731598, + 0.3628050684928894, + -0.10408815741539001, + 0.41859304904937744, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648522943258286, + -0.2143373191356659, + -0.04868507757782936, + -0.10687992721796036, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 15656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.642524833998323, + "first_execute_seconds": 0.01338091700017685, + "warm_seconds_median": 0.0004900409985566512, + "warm_seconds_mad": 3.4583001252030954e-05, + "peak_rss_bytes": 179568640, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 68900, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.149696332999156, + "first_execute_seconds": 0.005375207998440601, + "warm_seconds_median": 0.0009995830005209427, + "warm_seconds_mad": 0.00014091599950916134, + "peak_rss_bytes": 194560000, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 69005, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9118432079994818, + "first_execute_seconds": 0.0030385000027308706, + "warm_seconds_median": 0.0005183329994906671, + "warm_seconds_mad": 5.1875002100132406e-05, + "peak_rss_bytes": 241532928, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 71932, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 31392 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24560, + "recomputable_bytes": 24160, + "bytes_by_category": { + "primitive:scan": 21504, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6037619580019964, + "first_execute_seconds": 0.002971875001094304, + "warm_seconds_median": 0.0010328329990443308, + "warm_seconds_mad": 7.904099766165018e-05, + "peak_rss_bytes": 263061504, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72251, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12296 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1216, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.4515745839999, + "first_execute_seconds": 0.004949333000695333, + "warm_seconds_median": 0.0007087909980327822, + "warm_seconds_mad": 8.070900366874412e-05, + "peak_rss_bytes": 218218496, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72593, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 20776 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4006, + "recomputable_bytes": 3734, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1216, + "primitive:stack": 320, + "primitive:conj": 208, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.598646291997284, + "first_execute_seconds": 0.01036091599962674, + "warm_seconds_median": 0.0003897080023307353, + "warm_seconds_mad": 1.8124996131518856e-05, + "peak_rss_bytes": 205848576, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3517552038519099e-06, + "valid": true, + "failure": null, + "worker_pid": 73378, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582269057631493, + 0.16267919540405273, + 0.4295191764831543, + 0.5784918665885925, + 0.14390486478805542, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001631666673347354, + -0.04916911944746971, + -0.07137012481689453, + 0.04252944141626358, + 0.01803472824394703, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517392516136, + 0.3724292814731598, + 0.3628050684928894, + -0.10408813506364822, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588504046201706, + -0.05864844098687172, + -0.2143373191356659, + -0.04868512228131294, + -0.10687986761331558, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28440 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.865153916998679, + "first_execute_seconds": 0.004186458001640858, + "warm_seconds_median": 0.000541290999535704, + "warm_seconds_mad": 2.2332998923957348e-05, + "peak_rss_bytes": 234979328, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 73445, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 16720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4576, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1216, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.923599165998894, + "first_execute_seconds": 0.006536374999996042, + "warm_seconds_median": 0.0007547499990323558, + "warm_seconds_mad": 0.00017433299581171013, + "peak_rss_bytes": 202227712, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5159757649400297e-06, + "valid": true, + "failure": null, + "worker_pid": 73840, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390479028224945, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319661517627537, + -0.04916920140385628, + -0.07137024402618408, + 0.0425293855369091, + 0.018034739419817924, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095214903354645, + 0.3724291920661926, + 0.36280491948127747, + -0.10408811271190643, + 0.4185928702354431, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864843353629112, + -0.21433722972869873, + -0.04868510738015175, + -0.1068798303604126, + -0.2270757555961609, + -0.05777738615870476 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27416 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 219, + "total_bytes": 25520, + "recomputable_bytes": 24864, + "bytes_by_category": { + "primitive:scan": 21568, + "primitive:dot_general": 1408, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 45, + 52 + ], + [ + 15, + 22 + ], + [ + 28, + 35 + ], + [ + 40, + 41 + ], + [ + 20, + 26 + ], + [ + 20, + 21 + ], + [ + 33, + 34 + ], + [ + 1, + 2 + ], + [ + 21, + 22 + ], + [ + 19, + 20 + ], + [ + 14, + 48 + ], + [ + 21, + 22 + ], + [ + 39, + 42 + ], + [ + 1, + 2 + ], + [ + 26, + 27 + ], + [ + 4, + 34 + ], + [ + 9, + 10 + ], + [ + 9, + 36 + ], + [ + 4, + 5 + ], + [ + 20, + 27 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 16, + 35 + ], + [ + 18, + 19 + ], + [ + 10, + 11 + ], + [ + 24, + 27 + ], + [ + 2, + 3 + ], + [ + 10, + 11 + ], + [ + 12, + 21 + ], + [ + 6, + 12 + ], + [ + 3, + 4 + ], + [ + 11, + 23 + ], + [ + 16, + 17 + ], + [ + 4, + 13 + ], + [ + 9, + 17 + ], + [ + 11, + 17 + ], + [ + 3, + 9 + ], + [ + 5, + 11 + ], + [ + 4, + 13 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 1, + 7 + ], + [ + 9, + 12 + ], + [ + 9, + 16 + ], + [ + 6, + 8 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 10 + ], + [ + 7, + 10 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.07050375000108, + "first_execute_seconds": 0.003001540997502161, + "warm_seconds_median": 0.00046633300007670186, + "warm_seconds_mad": 2.099999983329326e-05, + "peak_rss_bytes": 320880640, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.4715403017365405e-06, + "valid": true, + "failure": null, + "worker_pid": 74201, + "parent_pid": 57372, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267921030521393, + 0.42951899766921997, + 0.5784918069839478, + 0.14390480518341064, + 0.5593963265419006, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016316675464622676, + -0.04916910454630852, + -0.07137026637792587, + 0.04252929240465164, + 0.018034720793366432, + -0.16026031970977783, + -0.1268349438905716 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.3724292516708374, + 0.36280494928359985, + -0.10408811271190643, + 0.4185929000377655, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.058648448437452316, + -0.21433736383914948, + -0.04868507757782936, + -0.1068798303604126, + -0.2270757555961609, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15136, + "bulk_block_path_flops": 15136, + "tail_path_flops": 6096, + "last_path_flops": 536, + "estimated_energy_flops": 22264, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22264, + "total_backward_flops": 44392, + "total_flops": 66656, + "total_traffic_elements": 19443, + "total_traffic_bytes": 155544, + "peak_role_residual_elements": 2296, + "static_score": 181164, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15136, + "backward_flops": 30208, + "forward_read_elements": 2296, + "forward_write_elements": 1816, + "backward_read_elements": 5928, + "backward_write_elements": 2296, + "residual_elements": 2296, + "peak_live_residual_elements": 2296, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45344, + "traffic_elements": 12336 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 9328, + "recomputable_bytes": 8096, + "bytes_by_category": { + "primitive:scan": 2560, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 19 + ], + [ + 3, + 17 + ], + [ + 6, + 42 + ], + [ + 7, + 41 + ], + [ + 11, + 44 + ], + [ + 3, + 13 + ], + [ + 4, + 13 + ], + [ + 7, + 37 + ], + [ + 3, + 10 + ], + [ + 0, + 7 + ], + [ + 0, + 73 + ], + [ + 11, + 71 + ], + [ + 3, + 29 + ], + [ + 3, + 28 + ], + [ + 2, + 26 + ], + [ + 1, + 58 + ], + [ + 7, + 60 + ], + [ + 0, + 1 + ], + [ + 2, + 7 + ], + [ + 0, + 56 + ], + [ + 4, + 10 + ], + [ + 34, + 42 + ], + [ + 10, + 40 + ], + [ + 27, + 33 + ], + [ + 17, + 24 + ], + [ + 7, + 12 + ], + [ + 28, + 34 + ], + [ + 29, + 34 + ], + [ + 9, + 49 + ], + [ + 16, + 49 + ], + [ + 3, + 42 + ], + [ + 16, + 33 + ], + [ + 41, + 42 + ], + [ + 11, + 38 + ], + [ + 15, + 20 + ], + [ + 10, + 41 + ], + [ + 10, + 27 + ], + [ + 43, + 44 + ], + [ + 44, + 45 + ], + [ + 8, + 22 + ], + [ + 1, + 3 + ], + [ + 8, + 23 + ], + [ + 9, + 14 + ], + [ + 1, + 19 + ], + [ + 10, + 12 + ], + [ + 3, + 5 + ], + [ + 4, + 15 + ], + [ + 4, + 6 + ], + [ + 3, + 15 + ], + [ + 4, + 6 + ], + [ + 0, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 22 + ], + [ + 7, + 18 + ], + [ + 15, + 26 + ], + [ + 4, + 15 + ], + [ + 19, + 25 + ], + [ + 7, + 26 + ], + [ + 4, + 23 + ], + [ + 18, + 24 + ], + [ + 14, + 22 + ], + [ + 4, + 10 + ], + [ + 9, + 12 + ], + [ + 11, + 16 + ], + [ + 3, + 15 + ], + [ + 0, + 12 + ], + [ + 8, + 17 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 5, + 13 + ], + [ + 6, + 11 + ], + [ + 7, + 9 + ], + [ + 1, + 9 + ], + [ + 6, + 9 + ], + [ + 3, + 8 + ], + [ + 0, + 1 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 31.945854166999197, + "first_execute_seconds": 0.0754517079985817, + "warm_seconds_median": 0.0032559169994783588, + "warm_seconds_mad": 0.001292834000196308, + "peak_rss_bytes": 187351040, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4360435688824186e-06, + "valid": true, + "failure": null, + "worker_pid": 58294, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582344494760036, + 0.16267924010753632, + 0.4295191764831543, + 0.5784918069839478, + 0.14390495419502258, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780522927641869, + 0.00016318151028826833, + -0.04916917160153389, + -0.0713701993227005, + 0.042529381811618805, + 0.018034687265753746, + -0.16026034951210022, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095216765999794, + 0.3724292516708374, + 0.36280491948127747, + -0.1040881797671318, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.04162909463047981, + 0.08588504791259766, + -0.05864843353629112, + -0.2143372893333435, + -0.048685070127248764, + -0.10687988251447678, + -0.22707566618919373, + -0.05777734890580177 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 28680 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 18848, + "contractions_per_energy": 1, + "estimated_energy_flops": 18848, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 27184, + "recomputable_bytes": 26336, + "bytes_by_category": { + "primitive:dot_general": 18144, + "jitted:_diag": 4256, + "primitive:conj": 1408, + "primitive:reshape": 896, + "literal": 832, + "primitive:concatenate": 448, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 32 + ], + [ + 2, + 31 + ], + [ + 2, + 30 + ], + [ + 2, + 29 + ], + [ + 2, + 28 + ], + [ + 2, + 27 + ], + [ + 2, + 26 + ], + [ + 0, + 56 + ], + [ + 0, + 61 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 9, + 17 + ], + [ + 10, + 16 + ], + [ + 10, + 15 + ], + [ + 10, + 14 + ], + [ + 10, + 13 + ], + [ + 10, + 12 + ], + [ + 10, + 11 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 0, + 10 + ], + [ + 0, + 14 + ], + [ + 1, + 28 + ], + [ + 1, + 27 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 27 + ], + [ + 10, + 26 + ], + [ + 11, + 34 + ], + [ + 10, + 24 + ], + [ + 16, + 32 + ], + [ + 16, + 28 + ], + [ + 20, + 27 + ], + [ + 15, + 29 + ], + [ + 24, + 28 + ], + [ + 0, + 24 + ], + [ + 9, + 26 + ], + [ + 23, + 25 + ], + [ + 4, + 22 + ], + [ + 16, + 23 + ], + [ + 21, + 22 + ], + [ + 4, + 16 + ], + [ + 4, + 15 + ], + [ + 18, + 19 + ], + [ + 4, + 14 + ], + [ + 4, + 13 + ], + [ + 15, + 16 + ], + [ + 3, + 12 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 11, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 6.200928083999315, + "first_execute_seconds": 0.005927207999775419, + "warm_seconds_median": 0.0005338749979273416, + "warm_seconds_mad": 1.5083001926541328e-05, + "peak_rss_bytes": 306626560, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.378262265054704e-06, + "valid": true, + "failure": null, + "worker_pid": 57455, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582213178277016, + 0.16267919540405273, + 0.4295191466808319, + 0.5784918665885925, + 0.14390483498573303, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016319638234563172, + -0.04916917160153389, + -0.07137015461921692, + 0.04252932220697403, + 0.018034672364592552, + -0.16026045382022858, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409524843096733, + 0.3724292516708374, + 0.36280497908592224, + -0.10408815741539001, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588508516550064, + -0.058648403733968735, + -0.2143373042345047, + -0.04868508502840996, + -0.10687986016273499, + -0.2270757257938385, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 29512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19152, + "contractions_per_energy": 1, + "estimated_energy_flops": 19152, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28880, + "recomputable_bytes": 28032, + "bytes_by_category": { + "primitive:dot_general": 19904, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:concatenate": 256, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 5, + 20 + ], + [ + 0, + 15 + ], + [ + 5, + 18 + ], + [ + 2, + 14 + ], + [ + 1, + 12 + ], + [ + 3, + 36 + ], + [ + 9, + 40 + ], + [ + 4, + 34 + ], + [ + 1, + 8 + ], + [ + 2, + 71 + ], + [ + 3, + 31 + ], + [ + 5, + 11 + ], + [ + 3, + 28 + ], + [ + 0, + 60 + ], + [ + 0, + 67 + ], + [ + 0, + 24 + ], + [ + 43, + 51 + ], + [ + 38, + 45 + ], + [ + 25, + 32 + ], + [ + 14, + 22 + ], + [ + 28, + 51 + ], + [ + 0, + 21 + ], + [ + 5, + 12 + ], + [ + 29, + 56 + ], + [ + 21, + 26 + ], + [ + 7, + 12 + ], + [ + 11, + 32 + ], + [ + 5, + 36 + ], + [ + 37, + 39 + ], + [ + 22, + 26 + ], + [ + 15, + 40 + ], + [ + 0, + 5 + ], + [ + 14, + 18 + ], + [ + 10, + 40 + ], + [ + 17, + 42 + ], + [ + 12, + 15 + ], + [ + 12, + 41 + ], + [ + 8, + 18 + ], + [ + 14, + 29 + ], + [ + 2, + 4 + ], + [ + 2, + 17 + ], + [ + 6, + 14 + ], + [ + 9, + 37 + ], + [ + 0, + 14 + ], + [ + 7, + 9 + ], + [ + 2, + 4 + ], + [ + 12, + 35 + ], + [ + 2, + 23 + ], + [ + 2, + 20 + ], + [ + 0, + 17 + ], + [ + 30, + 31 + ], + [ + 14, + 30 + ], + [ + 7, + 8 + ], + [ + 5, + 28 + ], + [ + 13, + 27 + ], + [ + 6, + 20 + ], + [ + 4, + 19 + ], + [ + 21, + 23 + ], + [ + 16, + 24 + ], + [ + 6, + 24 + ], + [ + 1, + 20 + ], + [ + 5, + 6 + ], + [ + 1, + 14 + ], + [ + 18, + 20 + ], + [ + 16, + 19 + ], + [ + 5, + 7 + ], + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 0, + 11 + ], + [ + 4, + 13 + ], + [ + 4, + 13 + ], + [ + 6, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 2, + 7 + ], + [ + 2, + 7 + ], + [ + 4, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 33.20641949999845, + "first_execute_seconds": 0.04019808299926808, + "warm_seconds_median": 0.0024285420004162006, + "warm_seconds_mad": 0.0006467499988502823, + "peak_rss_bytes": 172834816, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.3748041771412431e-06, + "valid": true, + "failure": null, + "worker_pid": 57610, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582256950438023, + 0.16267922520637512, + 0.4295191466808319, + 0.5784918665885925, + 0.1439048796892166, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780493125319481, + 0.0001632111961953342, + -0.04916912689805031, + -0.0713701844215393, + 0.04252932220697403, + 0.018034672364592552, + -0.16026049852371216, + -0.12683497369289398 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409520372748375, + 0.3724292516708374, + 0.36280497908592224, + -0.104088194668293, + 0.41859307885169983, + 0.24043141305446625, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588507771492004, + -0.05864845588803291, + -0.2143373042345047, + -0.04868512973189354, + -0.10687984526157379, + -0.22707581520080566, + -0.05777733027935028 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 28424 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19280, + "contractions_per_energy": 1, + "estimated_energy_flops": 19280, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 27856, + "recomputable_bytes": 27008, + "bytes_by_category": { + "primitive:dot_general": 18656, + "jitted:_diag": 4256, + "primitive:conj": 1472, + "primitive:reshape": 1024, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 416, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.690359958000045, + "first_execute_seconds": 0.05077225000059116, + "warm_seconds_median": 0.0019436659968050662, + "warm_seconds_mad": 0.0006302489964582492, + "peak_rss_bytes": 168869888, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 58951, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.946220249999897, + "first_execute_seconds": 0.05152874999839696, + "warm_seconds_median": 0.0775090419992921, + "warm_seconds_mad": 0.04171245799807366, + "peak_rss_bytes": 189104128, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 59314, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 18.69397250000111, + "first_execute_seconds": 0.06167458399795578, + "warm_seconds_median": 0.0018702080014918465, + "warm_seconds_mad": 0.00020466699788812548, + "peak_rss_bytes": 180387840, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 59675, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 30736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.120172207996802, + "first_execute_seconds": 0.025551833998179063, + "warm_seconds_median": 0.003962749997299397, + "warm_seconds_mad": 9.316600335296243e-05, + "peak_rss_bytes": 213368832, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5681979518872939e-06, + "valid": true, + "failure": null, + "worker_pid": 60309, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558230072259903, + 0.16267918050289154, + 0.4295189380645752, + 0.5784918069839478, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016324140597134829, + -0.0491691417992115, + -0.07137016952037811, + 0.042529355734586716, + 0.018034664914011955, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095188826322556, + 0.3724290728569031, + 0.3628048598766327, + -0.10408811271190643, + 0.4185928404331207, + 0.24043141305446625, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864838883280754, + -0.21433725953102112, + -0.048685092478990555, + -0.10687984526157379, + -0.22707566618919373, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 14952 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 17.70278595799755, + "first_execute_seconds": 0.039497750000009546, + "warm_seconds_median": 0.001332750001893146, + "warm_seconds_mad": 0.0005952080027782358, + "peak_rss_bytes": 179077120, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5681979518872939e-06, + "valid": true, + "failure": null, + "worker_pid": 60643, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558230072259903, + 0.16267918050289154, + 0.4295189380645752, + 0.5784918069839478, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016324140597134829, + -0.0491691417992115, + -0.07137016952037811, + 0.042529355734586716, + 0.018034664914011955, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095188826322556, + 0.3724290728569031, + 0.3628048598766327, + -0.10408811271190643, + 0.4185928404331207, + 0.24043141305446625, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864838883280754, + -0.21433725953102112, + -0.048685092478990555, + -0.10687984526157379, + -0.22707566618919373, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.9811511670013715, + "first_execute_seconds": 0.08328570799858426, + "warm_seconds_median": 0.004671750000852626, + "warm_seconds_mad": 0.0005307080027705524, + "peak_rss_bytes": 196509696, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 60997, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 11656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.742970499999501, + "first_execute_seconds": 0.02949925000211806, + "warm_seconds_median": 0.0015563330016448162, + "warm_seconds_mad": 0.00030754100225749426, + "peak_rss_bytes": 198000640, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 61225, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.262551125000755, + "first_execute_seconds": 0.014106540998909622, + "warm_seconds_median": 0.0020890830019197892, + "warm_seconds_mad": 0.0008962920001067687, + "peak_rss_bytes": 220233728, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 61359, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 588, + "temp_size_in_bytes": 28312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.502178124999773, + "first_execute_seconds": 0.03624920899892459, + "warm_seconds_median": 0.0013202920017647557, + "warm_seconds_mad": 0.00027541700183064677, + "peak_rss_bytes": 219480064, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 61537, + "parent_pid": 57372, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 19752 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 90, + "total_bytes": 3862, + "recomputable_bytes": 3590, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 14.879528875000688, + "first_execute_seconds": 0.12831083299897728, + "warm_seconds_median": 0.0012105409987270832, + "warm_seconds_mad": 0.000326165998558281, + "peak_rss_bytes": 201457664, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.305214590732359e-06, + "valid": true, + "failure": null, + "worker_pid": 61826, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267921030521393, + 0.4295191764831543, + 0.5784919261932373, + 0.14390480518341064, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309221973642707, + -0.04916917905211449, + -0.07137026637792587, + 0.042529232800006866, + 0.01803470216691494, + -0.1602603942155838, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095211178064346, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588499575853348, + -0.058648448437452316, + -0.21433734893798828, + -0.04868512228131294, + -0.10687991231679916, + -0.22707580029964447, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 37152 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 25248, + "recomputable_bytes": 24720, + "bytes_by_category": { + "primitive:scan": 21888, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 33.13411366699802, + "first_execute_seconds": 0.12169429200002924, + "warm_seconds_median": 0.002675042000191752, + "warm_seconds_mad": 0.0015306250024877954, + "peak_rss_bytes": 196804608, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.305214590732359e-06, + "valid": true, + "failure": null, + "worker_pid": 62542, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267921030521393, + 0.4295191764831543, + 0.5784919261932373, + 0.14390480518341064, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309221973642707, + -0.04916917905211449, + -0.07137026637792587, + 0.042529232800006866, + 0.01803470216691494, + -0.1602603942155838, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095211178064346, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588499575853348, + -0.058648448437452316, + -0.21433734893798828, + -0.04868512228131294, + -0.10687991231679916, + -0.22707580029964447, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 31936 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 25248, + "recomputable_bytes": 24720, + "bytes_by_category": { + "primitive:scan": 21888, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 13.986991457997647, + "first_execute_seconds": 0.16930304099878413, + "warm_seconds_median": 0.0013361669989535585, + "warm_seconds_mad": 0.0005191660020500422, + "peak_rss_bytes": 185548800, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.305214590732359e-06, + "valid": true, + "failure": null, + "worker_pid": 63676, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267921030521393, + 0.4295191764831543, + 0.5784919261932373, + 0.14390480518341064, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309221973642707, + -0.04916917905211449, + -0.07137026637792587, + 0.042529232800006866, + 0.01803470216691494, + -0.1602603942155838, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095211178064346, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588499575853348, + -0.058648448437452316, + -0.21433734893798828, + -0.04868512228131294, + -0.10687991231679916, + -0.22707580029964447, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28696 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 25248, + "recomputable_bytes": 24720, + "bytes_by_category": { + "primitive:scan": 21888, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.098552874998859, + "first_execute_seconds": 0.011216375001822598, + "warm_seconds_median": 0.0014662909998151008, + "warm_seconds_mad": 0.00020670699814218096, + "peak_rss_bytes": 236634112, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.328663160764998e-06, + "valid": true, + "failure": null, + "worker_pid": 64386, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.4295191764831543, + 0.5784918665885925, + 0.14390480518341064, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310712089762092, + -0.04916919395327568, + -0.07137031108140945, + 0.042529262602329254, + 0.01803470216691494, + -0.160260409116745, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409522607922554, + 0.3724292814731598, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648448437452316, + -0.21433740854263306, + -0.04868512973189354, + -0.10687988996505737, + -0.22707581520080566, + -0.057777274399995804 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 21544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.624688459000026, + "first_execute_seconds": 0.01293608400010271, + "warm_seconds_median": 0.0008098329999484122, + "warm_seconds_mad": 0.0002229999990959186, + "peak_rss_bytes": 202670080, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.328663160764998e-06, + "valid": true, + "failure": null, + "worker_pid": 64548, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.4295191764831543, + 0.5784918665885925, + 0.14390480518341064, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310712089762092, + -0.04916919395327568, + -0.07137031108140945, + 0.042529262602329254, + 0.01803470216691494, + -0.160260409116745, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409522607922554, + 0.3724292814731598, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648448437452316, + -0.21433740854263306, + -0.04868512973189354, + -0.10687988996505737, + -0.22707581520080566, + -0.057777274399995804 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28568 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 16.85880066699974, + "first_execute_seconds": 0.05068383300022106, + "warm_seconds_median": 0.0012966670001333114, + "warm_seconds_mad": 0.00033679199987091124, + "peak_rss_bytes": 221396992, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.305214590732359e-06, + "valid": true, + "failure": null, + "worker_pid": 64743, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267921030521393, + 0.4295191764831543, + 0.5784919261932373, + 0.14390480518341064, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309221973642707, + -0.04916917905211449, + -0.07137026637792587, + 0.042529232800006866, + 0.01803470216691494, + -0.1602603942155838, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095211178064346, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588499575853348, + -0.058648448437452316, + -0.21433734893798828, + -0.04868512228131294, + -0.10687991231679916, + -0.22707580029964447, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15632 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 4432, + "recomputable_bytes": 3584, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.04160091599988, + "first_execute_seconds": 0.008023583999602124, + "warm_seconds_median": 0.0008609169999544974, + "warm_seconds_mad": 0.00014429199654841796, + "peak_rss_bytes": 224460800, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.305214590732359e-06, + "valid": true, + "failure": null, + "worker_pid": 65180, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267921030521393, + 0.4295191764831543, + 0.5784919261932373, + 0.14390480518341064, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309221973642707, + -0.04916917905211449, + -0.07137026637792587, + 0.042529232800006866, + 0.01803470216691494, + -0.1602603942155838, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095211178064346, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588499575853348, + -0.058648448437452316, + -0.21433734893798828, + -0.04868512228131294, + -0.10687991231679916, + -0.22707580029964447, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 30744 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 4432, + "recomputable_bytes": 3584, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 29 + ], + [ + 17, + 18 + ], + [ + 1, + 6 + ], + [ + 12, + 17 + ], + [ + 8, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 11, + 22 + ], + [ + 4, + 6 + ], + [ + 9, + 16 + ], + [ + 9, + 10 + ], + [ + 4, + 12 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 12, + 14 + ], + [ + 9, + 10 + ], + [ + 5, + 6 + ], + [ + 1, + 9 + ], + [ + 0, + 10 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.227897125001618, + "first_execute_seconds": 0.00907191700025578, + "warm_seconds_median": 0.0025791250009206124, + "warm_seconds_mad": 0.000822540998342447, + "peak_rss_bytes": 196853760, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.305214590732359e-06, + "valid": true, + "failure": null, + "worker_pid": 65819, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267921030521393, + 0.4295191764831543, + 0.5784919261932373, + 0.14390480518341064, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309221973642707, + -0.04916917905211449, + -0.07137026637792587, + 0.042529232800006866, + 0.01803470216691494, + -0.1602603942155838, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095211178064346, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588499575853348, + -0.058648448437452316, + -0.21433734893798828, + -0.04868512228131294, + -0.10687991231679916, + -0.22707580029964447, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 32088 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6448, + "bulk_block_path_flops": 6448, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20308, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20308, + "total_backward_flops": 40484, + "total_flops": 60792, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 1100, + "static_score": 155156, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6448, + "backward_flops": 12864, + "forward_read_elements": 1100, + "forward_write_elements": 860, + "backward_read_elements": 2820, + "backward_write_elements": 1100, + "residual_elements": 1100, + "peak_live_residual_elements": 1100, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19312, + "traffic_elements": 5880 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 107, + "total_bytes": 4432, + "recomputable_bytes": 3584, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 34, + 41 + ], + [ + 29, + 34 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 1, + 37 + ], + [ + 26, + 34 + ], + [ + 9, + 15 + ], + [ + 3, + 4 + ], + [ + 13, + 14 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 3, + 27 + ], + [ + 6, + 22 + ], + [ + 16, + 17 + ], + [ + 9, + 25 + ], + [ + 16, + 25 + ], + [ + 3, + 4 + ], + [ + 1, + 16 + ], + [ + 0, + 12 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 3, + 11 + ], + [ + 0, + 16 + ], + [ + 10, + 14 + ], + [ + 7, + 14 + ], + [ + 12, + 15 + ], + [ + 14, + 16 + ], + [ + 7, + 12 + ], + [ + 3, + 7 + ], + [ + 2, + 9 + ], + [ + 7, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 4 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.7333955409994815, + "first_execute_seconds": 0.017577250000613276, + "warm_seconds_median": 0.0012567909980134573, + "warm_seconds_mad": 0.0005417079992184881, + "peak_rss_bytes": 224591872, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4213709821959122e-06, + "valid": true, + "failure": null, + "worker_pid": 66153, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267916560173035, + 0.4295191168785095, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321142902597785, + -0.049169156700372696, + -0.07137015461921692, + 0.04252935200929642, + 0.018034668639302254, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095192551612854, + 0.3724291920661926, + 0.36280494928359985, + -0.10408815741539001, + 0.4185929298400879, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868509992957115, + -0.10687988996505737, + -0.2270757555961609, + -0.05777730420231819 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 41952 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 9792, + "bulk_block_path_flops": 9792, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20548, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20548, + "total_backward_flops": 40964, + "total_flops": 61512, + "total_traffic_elements": 19455, + "total_traffic_bytes": 155640, + "peak_role_residual_elements": 1672, + "static_score": 166084, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9792, + "backward_flops": 19536, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 29328, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 25440, + "recomputable_bytes": 24784, + "bytes_by_category": { + "primitive:scan": 21632, + "primitive:dot_general": 1088, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 34, + 41 + ], + [ + 29, + 34 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 1, + 37 + ], + [ + 26, + 34 + ], + [ + 9, + 15 + ], + [ + 3, + 4 + ], + [ + 13, + 14 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 3, + 27 + ], + [ + 6, + 22 + ], + [ + 16, + 17 + ], + [ + 9, + 25 + ], + [ + 16, + 25 + ], + [ + 3, + 4 + ], + [ + 1, + 16 + ], + [ + 0, + 12 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 3, + 11 + ], + [ + 0, + 16 + ], + [ + 10, + 14 + ], + [ + 7, + 14 + ], + [ + 12, + 15 + ], + [ + 14, + 16 + ], + [ + 7, + 12 + ], + [ + 3, + 7 + ], + [ + 2, + 9 + ], + [ + 7, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 4 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.372718624999834, + "first_execute_seconds": 0.0198382920025324, + "warm_seconds_median": 0.0009155829975497909, + "warm_seconds_mad": 8.208299914258532e-05, + "peak_rss_bytes": 212631552, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4213709821959122e-06, + "valid": true, + "failure": null, + "worker_pid": 66354, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267916560173035, + 0.4295191168785095, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321142902597785, + -0.049169156700372696, + -0.07137015461921692, + 0.04252935200929642, + 0.018034668639302254, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095192551612854, + 0.3724291920661926, + 0.36280494928359985, + -0.10408815741539001, + 0.4185929298400879, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868509992957115, + -0.10687988996505737, + -0.2270757555961609, + -0.05777730420231819 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27480 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 9792, + "bulk_block_path_flops": 9792, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20548, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20548, + "total_backward_flops": 40964, + "total_flops": 61512, + "total_traffic_elements": 19455, + "total_traffic_bytes": 155640, + "peak_role_residual_elements": 1672, + "static_score": 166084, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9792, + "backward_flops": 19536, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 29328, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 25440, + "recomputable_bytes": 24784, + "bytes_by_category": { + "primitive:scan": 21632, + "primitive:dot_general": 1088, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 34, + 41 + ], + [ + 29, + 34 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 1, + 37 + ], + [ + 26, + 34 + ], + [ + 9, + 15 + ], + [ + 3, + 4 + ], + [ + 13, + 14 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 3, + 27 + ], + [ + 6, + 22 + ], + [ + 16, + 17 + ], + [ + 9, + 25 + ], + [ + 16, + 25 + ], + [ + 3, + 4 + ], + [ + 1, + 16 + ], + [ + 0, + 12 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 3, + 11 + ], + [ + 0, + 16 + ], + [ + 10, + 14 + ], + [ + 7, + 14 + ], + [ + 12, + 15 + ], + [ + 14, + 16 + ], + [ + 7, + 12 + ], + [ + 3, + 7 + ], + [ + 2, + 9 + ], + [ + 7, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 4 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.613102209001227, + "first_execute_seconds": 0.03333145800206694, + "warm_seconds_median": 0.0020265839993953705, + "warm_seconds_mad": 0.0004479570015973877, + "peak_rss_bytes": 222904320, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4077048090877586e-06, + "valid": true, + "failure": null, + "worker_pid": 66510, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267915070056915, + 0.42951908707618713, + 0.5784918069839478, + 0.14390476047992706, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016321137081831694, + -0.049169156700372696, + -0.07137015461921692, + 0.042529262602329254, + 0.018034646287560463, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095192551612854, + 0.3724291920661926, + 0.36280500888824463, + -0.10408814996480942, + 0.4185929298400879, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648448437452316, + -0.2143373042345047, + -0.04868512973189354, + -0.10687988251447678, + -0.22707577049732208, + -0.05777730420231819 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 25512 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 9792, + "bulk_block_path_flops": 9792, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20548, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20548, + "total_backward_flops": 40964, + "total_flops": 61512, + "total_traffic_elements": 19455, + "total_traffic_bytes": 155640, + "peak_role_residual_elements": 1672, + "static_score": 166084, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9792, + "backward_flops": 19536, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 29328, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 193, + "total_bytes": 7248, + "recomputable_bytes": 6592, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:conj": 848, + "primitive:stack": 832, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 34, + 41 + ], + [ + 29, + 34 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 1, + 37 + ], + [ + 26, + 34 + ], + [ + 9, + 15 + ], + [ + 3, + 4 + ], + [ + 13, + 14 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 3, + 27 + ], + [ + 6, + 22 + ], + [ + 16, + 17 + ], + [ + 9, + 25 + ], + [ + 16, + 25 + ], + [ + 3, + 4 + ], + [ + 1, + 16 + ], + [ + 0, + 12 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 3, + 11 + ], + [ + 0, + 16 + ], + [ + 10, + 14 + ], + [ + 7, + 14 + ], + [ + 12, + 15 + ], + [ + 14, + 16 + ], + [ + 7, + 12 + ], + [ + 3, + 7 + ], + [ + 2, + 9 + ], + [ + 7, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 4 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.934246667002299, + "first_execute_seconds": 0.02692162500170525, + "warm_seconds_median": 0.0015139589995669667, + "warm_seconds_mad": 0.00013733200103160925, + "peak_rss_bytes": 214253568, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4077048090877586e-06, + "valid": true, + "failure": null, + "worker_pid": 66666, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267915070056915, + 0.42951908707618713, + 0.5784918069839478, + 0.14390476047992706, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016321137081831694, + -0.049169156700372696, + -0.07137015461921692, + 0.042529262602329254, + 0.018034646287560463, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095192551612854, + 0.3724291920661926, + 0.36280500888824463, + -0.10408814996480942, + 0.4185929298400879, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648448437452316, + -0.2143373042345047, + -0.04868512973189354, + -0.10687988251447678, + -0.22707577049732208, + -0.05777730420231819 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27352 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 9792, + "bulk_block_path_flops": 9792, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20548, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20548, + "total_backward_flops": 40964, + "total_flops": 61512, + "total_traffic_elements": 19455, + "total_traffic_bytes": 155640, + "peak_role_residual_elements": 1672, + "static_score": 166084, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9792, + "backward_flops": 19536, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 29328, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 193, + "total_bytes": 7248, + "recomputable_bytes": 6592, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:conj": 848, + "primitive:stack": 832, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 34, + 41 + ], + [ + 29, + 34 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 1, + 37 + ], + [ + 26, + 34 + ], + [ + 9, + 15 + ], + [ + 3, + 4 + ], + [ + 13, + 14 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 3, + 27 + ], + [ + 6, + 22 + ], + [ + 16, + 17 + ], + [ + 9, + 25 + ], + [ + 16, + 25 + ], + [ + 3, + 4 + ], + [ + 1, + 16 + ], + [ + 0, + 12 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 3, + 11 + ], + [ + 0, + 16 + ], + [ + 10, + 14 + ], + [ + 7, + 14 + ], + [ + 12, + 15 + ], + [ + 14, + 16 + ], + [ + 7, + 12 + ], + [ + 3, + 7 + ], + [ + 2, + 9 + ], + [ + 7, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 4 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.119171999998798, + "first_execute_seconds": 0.010310041998309316, + "warm_seconds_median": 0.0008446669999102596, + "warm_seconds_mad": 8.933299977798015e-05, + "peak_rss_bytes": 240648192, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4213709821959122e-06, + "valid": true, + "failure": null, + "worker_pid": 66954, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267916560173035, + 0.4295191168785095, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321142902597785, + -0.049169156700372696, + -0.07137015461921692, + 0.04252935200929642, + 0.018034668639302254, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095192551612854, + 0.3724291920661926, + 0.36280494928359985, + -0.10408815741539001, + 0.4185929298400879, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868509992957115, + -0.10687988996505737, + -0.2270757555961609, + -0.05777730420231819 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 19416 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 9792, + "bulk_block_path_flops": 9792, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20548, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20548, + "total_backward_flops": 40964, + "total_flops": 61512, + "total_traffic_elements": 19455, + "total_traffic_bytes": 155640, + "peak_role_residual_elements": 1672, + "static_score": 166084, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9792, + "backward_flops": 19536, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 29328, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 115, + "total_bytes": 4304, + "recomputable_bytes": 3200, + "bytes_by_category": { + "primitive:scan": 1152, + "constant": 960, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 34, + 41 + ], + [ + 29, + 34 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 1, + 37 + ], + [ + 26, + 34 + ], + [ + 9, + 15 + ], + [ + 3, + 4 + ], + [ + 13, + 14 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 3, + 27 + ], + [ + 6, + 22 + ], + [ + 16, + 17 + ], + [ + 9, + 25 + ], + [ + 16, + 25 + ], + [ + 3, + 4 + ], + [ + 1, + 16 + ], + [ + 0, + 12 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 3, + 11 + ], + [ + 0, + 16 + ], + [ + 10, + 14 + ], + [ + 7, + 14 + ], + [ + 12, + 15 + ], + [ + 14, + 16 + ], + [ + 7, + 12 + ], + [ + 3, + 7 + ], + [ + 2, + 9 + ], + [ + 7, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 4 + ], + [ + 4, + 6 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.62745033399915, + "first_execute_seconds": 0.04778199999782373, + "warm_seconds_median": 0.0037240409983496647, + "warm_seconds_mad": 0.0010547510028118268, + "peak_rss_bytes": 219136000, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4213709821959122e-06, + "valid": true, + "failure": null, + "worker_pid": 67082, + "parent_pid": 57372, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267916560173035, + 0.4295191168785095, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321142902597785, + -0.049169156700372696, + -0.07137015461921692, + 0.04252935200929642, + 0.018034668639302254, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095192551612854, + 0.3724291920661926, + 0.36280494928359985, + -0.10408815741539001, + 0.4185929298400879, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868509992957115, + -0.10687988996505737, + -0.2270757555961609, + -0.05777730420231819 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 9792, + "bulk_block_path_flops": 9792, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20548, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20548, + "total_backward_flops": 40964, + "total_flops": 61512, + "total_traffic_elements": 19455, + "total_traffic_bytes": 155640, + "peak_role_residual_elements": 1672, + "static_score": 166084, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9792, + "backward_flops": 19536, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 29328, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 115, + "total_bytes": 4304, + "recomputable_bytes": 3200, + "bytes_by_category": { + "primitive:scan": 1152, + "constant": 960, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 45, + 52 + ], + [ + 44, + 45 + ], + [ + 16, + 22 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 19, + 52 + ], + [ + 8, + 49 + ], + [ + 27, + 33 + ], + [ + 13, + 14 + ], + [ + 1, + 3 + ], + [ + 9, + 10 + ], + [ + 30, + 36 + ], + [ + 1, + 5 + ], + [ + 8, + 9 + ], + [ + 23, + 24 + ], + [ + 25, + 26 + ], + [ + 13, + 29 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 21, + 32 + ], + [ + 1, + 21 + ], + [ + 21, + 26 + ], + [ + 23, + 27 + ], + [ + 7, + 8 + ], + [ + 0, + 22 + ], + [ + 8, + 9 + ], + [ + 2, + 29 + ], + [ + 12, + 14 + ], + [ + 9, + 15 + ], + [ + 5, + 7 + ], + [ + 0, + 1 + ], + [ + 4, + 13 + ], + [ + 5, + 11 + ], + [ + 4, + 10 + ], + [ + 1, + 14 + ], + [ + 2, + 8 + ], + [ + 4, + 13 + ], + [ + 11, + 12 + ], + [ + 1, + 9 + ], + [ + 2, + 11 + ], + [ + 0, + 15 + ], + [ + 12, + 17 + ], + [ + 5, + 15 + ], + [ + 5, + 14 + ], + [ + 1, + 14 + ], + [ + 7, + 8 + ], + [ + 7, + 12 + ], + [ + 8, + 9 + ], + [ + 8, + 10 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 18.477504750000662, + "first_execute_seconds": 0.06700004099911894, + "warm_seconds_median": 0.01723133300038171, + "warm_seconds_mad": 0.011417875000915956, + "peak_rss_bytes": 204734464, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.510239046683067e-06, + "valid": true, + "failure": null, + "worker_pid": 67348, + "parent_pid": 57372, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582278370857239, + 0.16267916560173035, + 0.42951899766921997, + 0.5784916281700134, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310738283209503, + -0.04916910454630852, + -0.07137012481689453, + 0.04252932593226433, + 0.018034709617495537, + -0.16026030480861664, + -0.12683476507663727 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409524843096733, + 0.37242916226387024, + 0.362805038690567, + -0.10408808290958405, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864841118454933, + -0.21433722972869873, + -0.04868510738015175, + -0.10687984526157379, + -0.2270757555961609, + -0.057777222245931625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14464, + "bulk_block_path_flops": 14464, + "tail_path_flops": 6096, + "last_path_flops": 484, + "estimated_energy_flops": 21524, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21524, + "total_backward_flops": 42916, + "total_flops": 64440, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 2272, + "static_score": 177556, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14464, + "backward_flops": 28864, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43328, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 26336, + "recomputable_bytes": 25104, + "bytes_by_category": { + "primitive:scan": 14880, + "primitive:dot_general": 6112, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:conj": 880, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 256, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 45, + 52 + ], + [ + 44, + 45 + ], + [ + 16, + 22 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 19, + 52 + ], + [ + 8, + 49 + ], + [ + 27, + 33 + ], + [ + 13, + 14 + ], + [ + 1, + 3 + ], + [ + 9, + 10 + ], + [ + 30, + 36 + ], + [ + 1, + 5 + ], + [ + 8, + 9 + ], + [ + 23, + 24 + ], + [ + 25, + 26 + ], + [ + 13, + 29 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 21, + 32 + ], + [ + 1, + 21 + ], + [ + 21, + 26 + ], + [ + 23, + 27 + ], + [ + 7, + 8 + ], + [ + 0, + 22 + ], + [ + 8, + 9 + ], + [ + 2, + 29 + ], + [ + 12, + 14 + ], + [ + 9, + 15 + ], + [ + 5, + 7 + ], + [ + 0, + 1 + ], + [ + 4, + 13 + ], + [ + 5, + 11 + ], + [ + 4, + 10 + ], + [ + 1, + 14 + ], + [ + 2, + 8 + ], + [ + 4, + 13 + ], + [ + 11, + 12 + ], + [ + 1, + 9 + ], + [ + 2, + 11 + ], + [ + 0, + 15 + ], + [ + 12, + 17 + ], + [ + 5, + 15 + ], + [ + 5, + 14 + ], + [ + 1, + 14 + ], + [ + 7, + 8 + ], + [ + 7, + 12 + ], + [ + 8, + 9 + ], + [ + 8, + 10 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 16.194172584000626, + "first_execute_seconds": 0.01677904199823388, + "warm_seconds_median": 0.0014625000003434252, + "warm_seconds_mad": 0.0007255829987116158, + "peak_rss_bytes": 221069312, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.5651107961926513e-06, + "valid": true, + "failure": null, + "worker_pid": 67817, + "parent_pid": 57372, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267918050289154, + 0.42951902747154236, + 0.5784915685653687, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016313718515448272, + -0.04916912689805031, + -0.07137013971805573, + 0.042529474943876266, + 0.01803470216691494, + -0.16026028990745544, + -0.12683476507663727 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.37242913246154785, + 0.36280497908592224, + -0.10408809781074524, + 0.41859281063079834, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.05864841118454933, + -0.21433725953102112, + -0.04868510738015175, + -0.1068798303604126, + -0.2270757257938385, + -0.057777222245931625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14464, + "bulk_block_path_flops": 14464, + "tail_path_flops": 6096, + "last_path_flops": 484, + "estimated_energy_flops": 21524, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21524, + "total_backward_flops": 42916, + "total_flops": 64440, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 2272, + "static_score": 177556, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14464, + "backward_flops": 28864, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43328, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 9328, + "recomputable_bytes": 8096, + "bytes_by_category": { + "primitive:scan": 2560, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 45, + 52 + ], + [ + 44, + 45 + ], + [ + 16, + 22 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 19, + 52 + ], + [ + 8, + 49 + ], + [ + 27, + 33 + ], + [ + 13, + 14 + ], + [ + 1, + 3 + ], + [ + 9, + 10 + ], + [ + 30, + 36 + ], + [ + 1, + 5 + ], + [ + 8, + 9 + ], + [ + 23, + 24 + ], + [ + 25, + 26 + ], + [ + 13, + 29 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 21, + 32 + ], + [ + 1, + 21 + ], + [ + 21, + 26 + ], + [ + 23, + 27 + ], + [ + 7, + 8 + ], + [ + 0, + 22 + ], + [ + 8, + 9 + ], + [ + 2, + 29 + ], + [ + 12, + 14 + ], + [ + 9, + 15 + ], + [ + 5, + 7 + ], + [ + 0, + 1 + ], + [ + 4, + 13 + ], + [ + 5, + 11 + ], + [ + 4, + 10 + ], + [ + 1, + 14 + ], + [ + 2, + 8 + ], + [ + 4, + 13 + ], + [ + 11, + 12 + ], + [ + 1, + 9 + ], + [ + 2, + 11 + ], + [ + 0, + 15 + ], + [ + 12, + 17 + ], + [ + 5, + 15 + ], + [ + 5, + 14 + ], + [ + 1, + 14 + ], + [ + 7, + 8 + ], + [ + 7, + 12 + ], + [ + 8, + 9 + ], + [ + 8, + 10 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 13.700149459000386, + "first_execute_seconds": 0.004792874999111518, + "warm_seconds_median": 0.0006790839979657903, + "warm_seconds_mad": 1.2500997399911284e-05, + "peak_rss_bytes": 246923264, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.510239046683067e-06, + "valid": true, + "failure": null, + "worker_pid": 68238, + "parent_pid": 57372, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582278370857239, + 0.16267916560173035, + 0.42951899766921997, + 0.5784916281700134, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310738283209503, + -0.04916910454630852, + -0.07137012481689453, + 0.04252932593226433, + 0.018034709617495537, + -0.16026030480861664, + -0.12683476507663727 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409524843096733, + 0.37242916226387024, + 0.362805038690567, + -0.10408808290958405, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864841118454933, + -0.21433722972869873, + -0.04868510738015175, + -0.10687984526157379, + -0.2270757555961609, + -0.057777222245931625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 33240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14464, + "bulk_block_path_flops": 14464, + "tail_path_flops": 6096, + "last_path_flops": 484, + "estimated_energy_flops": 21524, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21524, + "total_backward_flops": 42916, + "total_flops": 64440, + "total_traffic_elements": 19191, + "total_traffic_bytes": 153528, + "peak_role_residual_elements": 2272, + "static_score": 177556, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14464, + "backward_flops": 28864, + "forward_read_elements": 2272, + "forward_write_elements": 1792, + "backward_read_elements": 5856, + "backward_write_elements": 2272, + "residual_elements": 2272, + "peak_live_residual_elements": 2272, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43328, + "traffic_elements": 12192 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5136, + "recomputable_bytes": 3200, + "bytes_by_category": { + "constant": 1792, + "primitive:dot_general": 896, + "primitive:scan": 768, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:reshape": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.9811491670006944, + "first_execute_seconds": 0.0023414169991156086, + "warm_seconds_median": 0.0005526659988390747, + "warm_seconds_mad": 3.6957997508579865e-05, + "peak_rss_bytes": 256196608, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 68495, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.4082900419998623, + "first_execute_seconds": 0.012740624999423744, + "warm_seconds_median": 0.0004976249983883463, + "warm_seconds_mad": 3.7790996429976076e-05, + "peak_rss_bytes": 221806592, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 68570, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 27232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.891934208000748, + "first_execute_seconds": 0.005667290999554098, + "warm_seconds_median": 0.00047683400043752044, + "warm_seconds_mad": 3.5499997466104105e-05, + "peak_rss_bytes": 209305600, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 68630, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.8672789159973036, + "first_execute_seconds": 0.006780166000680765, + "warm_seconds_median": 0.00073533300019335, + "warm_seconds_mad": 3.0000999686308205e-05, + "peak_rss_bytes": 222740480, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.261827019915652e-06, + "valid": true, + "failure": null, + "worker_pid": 68717, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.1626792550086975, + 0.4295191764831543, + 0.5784919261932373, + 0.14390482008457184, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016315150423906744, + -0.04916922375559807, + -0.0713701918721199, + 0.04252944141626358, + 0.01803465746343136, + -0.16026045382022858, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522607922554, + 0.3724292814731598, + 0.3628050684928894, + -0.10408815741539001, + 0.41859304904937744, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648522943258286, + -0.2143373191356659, + -0.04868507757782936, + -0.10687992721796036, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 15656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.16164383299838, + "first_execute_seconds": 0.007460541997716064, + "warm_seconds_median": 0.0007057090006128419, + "warm_seconds_mad": 8.716699812794104e-05, + "peak_rss_bytes": 205586432, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.261827019915652e-06, + "valid": true, + "failure": null, + "worker_pid": 68751, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.1626792550086975, + 0.4295191764831543, + 0.5784919261932373, + 0.14390482008457184, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016315150423906744, + -0.04916922375559807, + -0.0713701918721199, + 0.04252944141626358, + 0.01803465746343136, + -0.16026045382022858, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522607922554, + 0.3724292814731598, + 0.3628050684928894, + -0.10408815741539001, + 0.41859304904937744, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648522943258286, + -0.2143373191356659, + -0.04868507757782936, + -0.10687992721796036, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 23296 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.642524833998323, + "first_execute_seconds": 0.01338091700017685, + "warm_seconds_median": 0.0004900409985566512, + "warm_seconds_mad": 3.4583001252030954e-05, + "peak_rss_bytes": 179568640, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 68900, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.149696332999156, + "first_execute_seconds": 0.005375207998440601, + "warm_seconds_median": 0.0009995830005209427, + "warm_seconds_mad": 0.00014091599950916134, + "peak_rss_bytes": 194560000, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 69005, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.123703833000036, + "first_execute_seconds": 0.007789958002831554, + "warm_seconds_median": 0.0013572919997386634, + "warm_seconds_mad": 0.00029875000109313987, + "peak_rss_bytes": 204013568, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 69115, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 588, + "temp_size_in_bytes": 24152 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.7274865840008715, + "first_execute_seconds": 0.004279166998458095, + "warm_seconds_median": 0.0008327079995069653, + "warm_seconds_mad": 3.3041000278899446e-05, + "peak_rss_bytes": 216973312, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 69305, + "parent_pid": 57372, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 17640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4390, + "recomputable_bytes": 4118, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.50795370799824, + "first_execute_seconds": 0.015954250000504544, + "warm_seconds_median": 0.0012071250021108426, + "warm_seconds_mad": 0.00033679199987091124, + "peak_rss_bytes": 200081408, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 69412, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 36832 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.210199957997247, + "first_execute_seconds": 0.003877999999531312, + "warm_seconds_median": 0.0005967090000922326, + "warm_seconds_mad": 7.625099897268228e-05, + "peak_rss_bytes": 202686464, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 69564, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 31368 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.830620625001757, + "first_execute_seconds": 0.003208665999409277, + "warm_seconds_median": 0.0005115839994687121, + "warm_seconds_mad": 7.616600123583339e-05, + "peak_rss_bytes": 216154112, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 69872, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 29592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6037829169981705, + "first_execute_seconds": 0.0066892499999084976, + "warm_seconds_median": 0.0007041249991743825, + "warm_seconds_mad": 6.858400229248218e-05, + "peak_rss_bytes": 285818880, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2535414088122629e-06, + "valid": true, + "failure": null, + "worker_pid": 69967, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267913579940796, + 0.4295192360877991, + 0.5784920454025269, + 0.1439049243927002, + 0.559396505355835, + 0.4384327232837677, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016321113798767328, + -0.04916926845908165, + -0.07137009501457214, + 0.04252944141626358, + 0.01803467608988285, + -0.16026045382022858, + -0.1268349438905716 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409522980451584, + 0.3724292516708374, + 0.3628050982952118, + -0.10408815741539001, + 0.41859307885169983, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588521182537079, + -0.05864860489964485, + -0.214337557554245, + -0.048685137182474136, + -0.1068798154592514, + -0.22707590460777283, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 24552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.797129667000263, + "first_execute_seconds": 0.017473916999733774, + "warm_seconds_median": 0.0006519999988086056, + "warm_seconds_mad": 0.0001706669972918462, + "peak_rss_bytes": 290308096, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2535414088122629e-06, + "valid": true, + "failure": null, + "worker_pid": 70028, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267913579940796, + 0.4295192360877991, + 0.5784920454025269, + 0.1439049243927002, + 0.559396505355835, + 0.4384327232837677, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016321113798767328, + -0.04916926845908165, + -0.07137009501457214, + 0.04252944141626358, + 0.01803467608988285, + -0.16026045382022858, + -0.1268349438905716 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409522980451584, + 0.3724292516708374, + 0.3628050982952118, + -0.10408815741539001, + 0.41859307885169983, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588521182537079, + -0.05864860489964485, + -0.214337557554245, + -0.048685137182474136, + -0.1068798154592514, + -0.22707590460777283, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 29592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1041399169989745, + "first_execute_seconds": 0.0024659999980940484, + "warm_seconds_median": 0.0008412080023845192, + "warm_seconds_mad": 4.712500231107697e-05, + "peak_rss_bytes": 289062912, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 70087, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 18064 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4960, + "recomputable_bytes": 4112, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.061695332999079, + "first_execute_seconds": 0.01949087499815505, + "warm_seconds_median": 0.004063792002853006, + "warm_seconds_mad": 0.002384709001489682, + "peak_rss_bytes": 217088000, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 70182, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31896 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4960, + "recomputable_bytes": 4112, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.707109292001405, + "first_execute_seconds": 0.008849459001794457, + "warm_seconds_median": 0.0020256249990779907, + "warm_seconds_mad": 0.0002601669984869659, + "peak_rss_bytes": 234635264, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 70335, + "parent_pid": 57372, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 32920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4960, + "recomputable_bytes": 4112, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.493358542000351, + "first_execute_seconds": 0.008055082998907892, + "warm_seconds_median": 0.0008076670019363519, + "warm_seconds_mad": 7.900000127847306e-05, + "peak_rss_bytes": 220971008, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 70499, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 55208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 31088, + "recomputable_bytes": 30432, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.890469334000954, + "first_execute_seconds": 0.01747770799920545, + "warm_seconds_median": 0.0067688329982047435, + "warm_seconds_mad": 0.0030978340037108865, + "peak_rss_bytes": 275005440, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 70679, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 43928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 31088, + "recomputable_bytes": 30432, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.14690462499857, + "first_execute_seconds": 0.02164216700111865, + "warm_seconds_median": 0.0009690410006442107, + "warm_seconds_mad": 0.00012224899910506792, + "peak_rss_bytes": 232554496, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.310859997375292e-06, + "valid": true, + "failure": null, + "worker_pid": 70799, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582293272018433, + 0.16267924010753632, + 0.42951905727386475, + 0.5784919261932373, + 0.14390471577644348, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001633747451705858, + -0.049169059842824936, + -0.07137016206979752, + 0.04252929240465164, + 0.018034441396594048, + -0.1602606326341629, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095207452774048, + 0.3724291920661926, + 0.362805038690567, + -0.10408817231655121, + 0.41859304904937744, + 0.24043148756027222, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588489145040512, + -0.058648403733968735, + -0.2143373191356659, + -0.048685137182474136, + -0.10687991976737976, + -0.22707599401474, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 37424 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 193, + "total_bytes": 7248, + "recomputable_bytes": 6592, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:conj": 848, + "primitive:stack": 832, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.017546333001519, + "first_execute_seconds": 0.036039624999830266, + "warm_seconds_median": 0.002197124998929212, + "warm_seconds_mad": 0.001629790996958036, + "peak_rss_bytes": 247283712, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.310859997375292e-06, + "valid": true, + "failure": null, + "worker_pid": 70908, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582293272018433, + 0.16267924010753632, + 0.42951905727386475, + 0.5784919261932373, + 0.14390471577644348, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001633747451705858, + -0.049169059842824936, + -0.07137016206979752, + 0.04252929240465164, + 0.018034441396594048, + -0.1602606326341629, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095207452774048, + 0.3724291920661926, + 0.362805038690567, + -0.10408817231655121, + 0.41859304904937744, + 0.24043148756027222, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588489145040512, + -0.058648403733968735, + -0.2143373191356659, + -0.048685137182474136, + -0.10687991976737976, + -0.22707599401474, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 44056 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 193, + "total_bytes": 7248, + "recomputable_bytes": 6592, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:conj": 848, + "primitive:stack": 832, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.635959084000206, + "first_execute_seconds": 0.0050887910001620185, + "warm_seconds_median": 0.0012626249990717042, + "warm_seconds_mad": 0.00030304099709610455, + "peak_rss_bytes": 232685568, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 71097, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 29912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4832, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 960, + "primitive:scan": 768, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.05895899999814, + "first_execute_seconds": 0.029877458997361828, + "warm_seconds_median": 0.0010030830017058179, + "warm_seconds_mad": 0.0003922500036424026, + "peak_rss_bytes": 281362432, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 71231, + "parent_pid": 57372, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 49432 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4832, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 960, + "primitive:scan": 768, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.883086165998975, + "first_execute_seconds": 0.017404208003426902, + "warm_seconds_median": 0.00464566699884017, + "warm_seconds_mad": 0.0008348750016011763, + "peak_rss_bytes": 233308160, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.4925411498404187e-06, + "valid": true, + "failure": null, + "worker_pid": 71364, + "parent_pid": 57372, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582334250211716, + 0.1626792997121811, + 0.4295191168785095, + 0.5784919857978821, + 0.1439048945903778, + 0.5593962669372559, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016313680680468678, + -0.04916875436902046, + -0.0713699460029602, + 0.04252967983484268, + 0.018034683540463448, + -0.1602603942155838, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.024095136672258377, + 0.3724292814731598, + 0.362805038690567, + -0.10408814251422882, + 0.4185929298400879, + 0.2404315322637558, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588528633117676, + -0.05864826217293739, + -0.21433715522289276, + -0.048684898763895035, + -0.10687971860170364, + -0.22707581520080566, + -0.05777741223573685 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 64408 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 40272, + "recomputable_bytes": 39040, + "bytes_by_category": { + "primitive:scan": 24704, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.182879249998223, + "first_execute_seconds": 0.007805375000316417, + "warm_seconds_median": 0.0005967500001133885, + "warm_seconds_mad": 3.6541998269967735e-05, + "peak_rss_bytes": 228605952, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.5172550842750883e-06, + "valid": true, + "failure": null, + "worker_pid": 71601, + "parent_pid": 57372, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582328662276268, + 0.1626792699098587, + 0.42951902747154236, + 0.5784919261932373, + 0.1439049243927002, + 0.5593962669372559, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016307752230204642, + -0.04916878417134285, + -0.07136982679367065, + 0.04252967983484268, + 0.01803465373814106, + -0.1602603793144226, + -0.1268349140882492 + ] + ], + [ + [ + -0.18359225988388062, + -0.024095114320516586, + 0.3724292516708374, + 0.36280497908592224, + -0.10408812761306763, + 0.4185929298400879, + 0.2404315322637558, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588550984859467, + -0.05864841863512993, + -0.21433734893798828, + -0.048684898763895035, + -0.10687974095344543, + -0.22707578539848328, + -0.05777741223573685 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 64408 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 9328, + "recomputable_bytes": 8096, + "bytes_by_category": { + "primitive:scan": 2560, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.641660249999404, + "first_execute_seconds": 0.013988541002618149, + "warm_seconds_median": 0.0019125409999105614, + "warm_seconds_mad": 0.0004282910012989305, + "peak_rss_bytes": 277102592, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.4925411498404187e-06, + "valid": true, + "failure": null, + "worker_pid": 71822, + "parent_pid": 57372, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582334250211716, + 0.1626792997121811, + 0.4295191168785095, + 0.5784919857978821, + 0.1439048945903778, + 0.5593962669372559, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016313680680468678, + -0.04916875436902046, + -0.0713699460029602, + 0.04252967983484268, + 0.018034683540463448, + -0.1602603942155838, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.024095136672258377, + 0.3724292814731598, + 0.362805038690567, + -0.10408814251422882, + 0.4185929298400879, + 0.2404315322637558, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588528633117676, + -0.05864826217293739, + -0.21433715522289276, + -0.048684898763895035, + -0.10687971860170364, + -0.22707581520080566, + -0.05777741223573685 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 68248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 5664, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 1792, + "primitive:scan": 768, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:reshape": 96, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9118432079994818, + "first_execute_seconds": 0.0030385000027308706, + "warm_seconds_median": 0.0005183329994906671, + "warm_seconds_mad": 5.1875002100132406e-05, + "peak_rss_bytes": 241532928, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 71932, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 31392 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24560, + "recomputable_bytes": 24160, + "bytes_by_category": { + "primitive:scan": 21504, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.732813915998122, + "first_execute_seconds": 0.003449124997132458, + "warm_seconds_median": 0.0005934170003456529, + "warm_seconds_mad": 5.145799877936952e-05, + "peak_rss_bytes": 251854848, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72013, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 34976 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24560, + "recomputable_bytes": 24160, + "bytes_by_category": { + "primitive:scan": 21504, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.275537958001223, + "first_execute_seconds": 0.020283374997234205, + "warm_seconds_median": 0.0009012499976961408, + "warm_seconds_mad": 4.241699571139179e-05, + "peak_rss_bytes": 250609664, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72049, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 556, + "temp_size_in_bytes": 32912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24560, + "recomputable_bytes": 24160, + "bytes_by_category": { + "primitive:scan": 21504, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9223840410013509, + "first_execute_seconds": 0.0033868749997054692, + "warm_seconds_median": 0.000985582999419421, + "warm_seconds_mad": 0.00013183300325181335, + "peak_rss_bytes": 265568256, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4588664004051287e-06, + "valid": true, + "failure": null, + "worker_pid": 72134, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267921030521393, + 0.42951905727386475, + 0.5784918069839478, + 0.14390480518341064, + 0.5593963265419006, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016321148723363876, + -0.0491691417992115, + -0.0713701918721199, + 0.042529381811618805, + 0.018034661188721657, + -0.1602604240179062, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185928702354431, + 0.24043135344982147, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864844098687172, + -0.2143373042345047, + -0.04868512228131294, + -0.10687984526157379, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 15464 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.239477041002829, + "first_execute_seconds": 0.004416625000885688, + "warm_seconds_median": 0.0007772909993946087, + "warm_seconds_mad": 1.1457999789854512e-05, + "peak_rss_bytes": 273399808, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4588664004051287e-06, + "valid": true, + "failure": null, + "worker_pid": 72181, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267921030521393, + 0.42951905727386475, + 0.5784918069839478, + 0.14390480518341064, + 0.5593963265419006, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016321148723363876, + -0.0491691417992115, + -0.0713701918721199, + 0.042529381811618805, + 0.018034661188721657, + -0.1602604240179062, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185928702354431, + 0.24043135344982147, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864844098687172, + -0.2143373042345047, + -0.04868512228131294, + -0.10687984526157379, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28624 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 119, + "total_bytes": 7728, + "recomputable_bytes": 7328, + "bytes_by_category": { + "primitive:scan": 5376, + "primitive:stack": 576, + "primitive:conj": 560, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6037619580019964, + "first_execute_seconds": 0.002971875001094304, + "warm_seconds_median": 0.0010328329990443308, + "warm_seconds_mad": 7.904099766165018e-05, + "peak_rss_bytes": 263061504, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72251, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12296 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1216, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.366328291998798, + "first_execute_seconds": 0.018482457999198232, + "warm_seconds_median": 0.0013256250022095628, + "warm_seconds_mad": 0.0005014170019421726, + "peak_rss_bytes": 201474048, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72291, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 17384 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1216, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.646065542001452, + "first_execute_seconds": 0.00563624999995227, + "warm_seconds_median": 0.0008395000004384201, + "warm_seconds_mad": 0.00012687499838648364, + "peak_rss_bytes": 219496448, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72428, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 588, + "temp_size_in_bytes": 30232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1216, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 8, + 14 + ], + [ + 11, + 12 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 7 + ], + [ + 2, + 3 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.4515745839999, + "first_execute_seconds": 0.004949333000695333, + "warm_seconds_median": 0.0007087909980327822, + "warm_seconds_mad": 8.070900366874412e-05, + "peak_rss_bytes": 218218496, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4524237936346581e-06, + "valid": true, + "failure": null, + "worker_pid": 72593, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582302585244179, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319661517627537, + -0.049169134348630905, + -0.0713701844215393, + 0.042529381811618805, + 0.018034664914011955, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724291920661926, + 0.36280494928359985, + -0.10408814251422882, + 0.4185929000377655, + 0.24043135344982147, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648426085710526, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986016273499, + -0.22707577049732208, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 20776 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 19368, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19368, + "total_backward_flops": 38600, + "total_flops": 57968, + "total_traffic_elements": 19227, + "total_traffic_bytes": 153816, + "peak_role_residual_elements": 548, + "static_score": 143644, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4006, + "recomputable_bytes": 3734, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1216, + "primitive:stack": 320, + "primitive:conj": 208, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.53883599999972, + "first_execute_seconds": 0.010269540998706361, + "warm_seconds_median": 0.0015752500003145542, + "warm_seconds_mad": 0.0001861669989011716, + "peak_rss_bytes": 208617472, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 72719, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 36448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 24528, + "recomputable_bytes": 24000, + "bytes_by_category": { + "primitive:scan": 21024, + "primitive:dot_general": 1344, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 13.575908000002528, + "first_execute_seconds": 0.01020237500051735, + "warm_seconds_median": 0.0009932499997375999, + "warm_seconds_mad": 0.00019070899725193158, + "peak_rss_bytes": 219873280, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 72922, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 30280 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 24528, + "recomputable_bytes": 24000, + "bytes_by_category": { + "primitive:scan": 21024, + "primitive:dot_general": 1344, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.93238220800049, + "first_execute_seconds": 0.003711290999490302, + "warm_seconds_median": 0.0004903339977317955, + "warm_seconds_mad": 3.1250998290488496e-05, + "peak_rss_bytes": 182403072, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 73107, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 24528, + "recomputable_bytes": 24000, + "bytes_by_category": { + "primitive:scan": 21024, + "primitive:dot_general": 1344, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.065853334002895, + "first_execute_seconds": 0.006361041996569838, + "warm_seconds_median": 0.0006896250015415717, + "warm_seconds_mad": 5.6750002840999514e-05, + "peak_rss_bytes": 261439488, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3517552038519099e-06, + "valid": true, + "failure": null, + "worker_pid": 73316, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582269057631493, + 0.16267919540405273, + 0.4295191764831543, + 0.5784918665885925, + 0.14390486478805542, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001631666673347354, + -0.04916911944746971, + -0.07137012481689453, + 0.04252944141626358, + 0.01803472824394703, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517392516136, + 0.3724292814731598, + 0.3628050684928894, + -0.10408813506364822, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588504046201706, + -0.05864844098687172, + -0.2143373191356659, + -0.04868512228131294, + -0.10687986761331558, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 20456 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.598646291997284, + "first_execute_seconds": 0.01036091599962674, + "warm_seconds_median": 0.0003897080023307353, + "warm_seconds_mad": 1.8124996131518856e-05, + "peak_rss_bytes": 205848576, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3517552038519099e-06, + "valid": true, + "failure": null, + "worker_pid": 73378, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582269057631493, + 0.16267919540405273, + 0.4295191764831543, + 0.5784918665885925, + 0.14390486478805542, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001631666673347354, + -0.04916911944746971, + -0.07137012481689453, + 0.04252944141626358, + 0.01803472824394703, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517392516136, + 0.3724292814731598, + 0.3628050684928894, + -0.10408813506364822, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588504046201706, + -0.05864844098687172, + -0.2143373191356659, + -0.04868512228131294, + -0.10687986761331558, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28440 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 156, + "total_bytes": 7104, + "recomputable_bytes": 6576, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:conj": 704, + "primitive:stack": 704, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.865153916998679, + "first_execute_seconds": 0.004186458001640858, + "warm_seconds_median": 0.000541290999535704, + "warm_seconds_mad": 2.2332998923957348e-05, + "peak_rss_bytes": 234979328, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 73445, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 16720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4576, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1216, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.6270033750006405, + "first_execute_seconds": 0.008756874998653075, + "warm_seconds_median": 0.001384916999086272, + "warm_seconds_mad": 0.0001857919996837154, + "peak_rss_bytes": 203620352, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 73478, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4576, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1216, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 26, + 27 + ], + [ + 17, + 24 + ], + [ + 14, + 15 + ], + [ + 2, + 9 + ], + [ + 12, + 13 + ], + [ + 12, + 13 + ], + [ + 4, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 16 + ], + [ + 2, + 20 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 17 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 7, + 11 + ], + [ + 0, + 7 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 5, + 10 + ], + [ + 0, + 9 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.1012626250012545, + "first_execute_seconds": 0.004592541001329664, + "warm_seconds_median": 0.00047837500096648, + "warm_seconds_mad": 2.550000135670416e-05, + "peak_rss_bytes": 238747648, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.3722389566432678e-06, + "valid": true, + "failure": null, + "worker_pid": 73546, + "parent_pid": 57372, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267913579940796, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593963861465454, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.049169156700372696, + -0.07137013971805573, + 0.04252944141626358, + 0.018034709617495537, + -0.1602604240179062, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.3724292516708374, + 0.362805038690567, + -0.10408814251422882, + 0.41859298944473267, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.05864843353629112, + -0.2143373042345047, + -0.04868510738015175, + -0.10687988996505737, + -0.22707578539848328, + -0.05777737498283386 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 32088 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6512, + "bulk_block_path_flops": 6512, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 20568, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20568, + "total_backward_flops": 41000, + "total_flops": 61568, + "total_traffic_elements": 19587, + "total_traffic_bytes": 156696, + "peak_role_residual_elements": 1116, + "static_score": 157772, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6512, + "backward_flops": 12992, + "forward_read_elements": 1116, + "forward_write_elements": 876, + "backward_read_elements": 2868, + "backward_write_elements": 1116, + "residual_elements": 1116, + "peak_live_residual_elements": 1116, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19504, + "traffic_elements": 5976 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4576, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1216, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.9808617910020985, + "first_execute_seconds": 0.0061973340016265865, + "warm_seconds_median": 0.0005129590026626829, + "warm_seconds_mad": 3.812500290223397e-05, + "peak_rss_bytes": 242843648, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5159757649400297e-06, + "valid": true, + "failure": null, + "worker_pid": 73761, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390479028224945, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319661517627537, + -0.04916920140385628, + -0.07137024402618408, + 0.0425293855369091, + 0.018034739419817924, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095214903354645, + 0.3724291920661926, + 0.36280491948127747, + -0.10408811271190643, + 0.4185928702354431, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864843353629112, + -0.21433722972869873, + -0.04868510738015175, + -0.1068798303604126, + -0.2270757555961609, + -0.05777738615870476 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 42016 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 219, + "total_bytes": 25520, + "recomputable_bytes": 24864, + "bytes_by_category": { + "primitive:scan": 21568, + "primitive:dot_general": 1408, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.923599165998894, + "first_execute_seconds": 0.006536374999996042, + "warm_seconds_median": 0.0007547499990323558, + "warm_seconds_mad": 0.00017433299581171013, + "peak_rss_bytes": 202227712, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5159757649400297e-06, + "valid": true, + "failure": null, + "worker_pid": 73840, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390479028224945, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319661517627537, + -0.04916920140385628, + -0.07137024402618408, + 0.0425293855369091, + 0.018034739419817924, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095214903354645, + 0.3724291920661926, + 0.36280491948127747, + -0.10408811271190643, + 0.4185928702354431, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864843353629112, + -0.21433722972869873, + -0.04868510738015175, + -0.1068798303604126, + -0.2270757555961609, + -0.05777738615870476 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27416 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 219, + "total_bytes": 25520, + "recomputable_bytes": 24864, + "bytes_by_category": { + "primitive:scan": 21568, + "primitive:dot_general": 1408, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.284283083001355, + "first_execute_seconds": 0.01199287499912316, + "warm_seconds_median": 0.0015985840000212193, + "warm_seconds_mad": 0.0005145009999978356, + "peak_rss_bytes": 229834752, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5121926642266476e-06, + "valid": true, + "failure": null, + "worker_pid": 73901, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582291409373283, + 0.16267921030521393, + 0.42951905727386475, + 0.5784918069839478, + 0.14390482008457184, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319661517627537, + -0.049169186502695084, + -0.07137024402618408, + 0.042529504746198654, + 0.018034761771559715, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095211178064346, + 0.3724291920661926, + 0.36280491948127747, + -0.10408805310726166, + 0.4185929298400879, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504046201706, + -0.058648448437452316, + -0.21433721482753754, + -0.04868506267666817, + -0.106879822909832, + -0.2270757406949997, + -0.057777389883995056 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 26408 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 193, + "total_bytes": 7248, + "recomputable_bytes": 6592, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:conj": 848, + "primitive:stack": 832, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.988964082996972, + "first_execute_seconds": 0.017730916999425972, + "warm_seconds_median": 0.002901416999520734, + "warm_seconds_mad": 0.0016925419986364432, + "peak_rss_bytes": 239910912, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5121926642266476e-06, + "valid": true, + "failure": null, + "worker_pid": 73962, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582291409373283, + 0.16267921030521393, + 0.42951905727386475, + 0.5784918069839478, + 0.14390482008457184, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319661517627537, + -0.049169186502695084, + -0.07137024402618408, + 0.042529504746198654, + 0.018034761771559715, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095211178064346, + 0.3724291920661926, + 0.36280491948127747, + -0.10408805310726166, + 0.4185929298400879, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504046201706, + -0.058648448437452316, + -0.21433721482753754, + -0.04868506267666817, + -0.106879822909832, + -0.2270757406949997, + -0.057777389883995056 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28440 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 193, + "total_bytes": 7248, + "recomputable_bytes": 6592, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:conj": 848, + "primitive:stack": 832, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:scatter": 288, + "primitive:concatenate": 176, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5622680420019606, + "first_execute_seconds": 0.00308516699806205, + "warm_seconds_median": 0.0007342499993683305, + "warm_seconds_mad": 8.650000017951243e-05, + "peak_rss_bytes": 320372736, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5159757649400297e-06, + "valid": true, + "failure": null, + "worker_pid": 74030, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390479028224945, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319661517627537, + -0.04916920140385628, + -0.07137024402618408, + 0.0425293855369091, + 0.018034739419817924, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095214903354645, + 0.3724291920661926, + 0.36280491948127747, + -0.10408811271190643, + 0.4185928702354431, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864843353629112, + -0.21433722972869873, + -0.04868510738015175, + -0.1068798303604126, + -0.2270757555961609, + -0.05777738615870476 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 20568 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4448, + "recomputable_bytes": 3344, + "bytes_by_category": { + "primitive:dot_general": 1216, + "primitive:scan": 1152, + "constant": 960, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 34 + ], + [ + 22, + 34 + ], + [ + 25, + 31 + ], + [ + 7, + 8 + ], + [ + 8, + 28 + ], + [ + 19, + 20 + ], + [ + 11, + 18 + ], + [ + 0, + 25 + ], + [ + 2, + 3 + ], + [ + 12, + 13 + ], + [ + 5, + 6 + ], + [ + 11, + 16 + ], + [ + 0, + 16 + ], + [ + 13, + 16 + ], + [ + 7, + 8 + ], + [ + 0, + 11 + ], + [ + 2, + 4 + ], + [ + 8, + 10 + ], + [ + 3, + 20 + ], + [ + 4, + 5 + ], + [ + 2, + 6 + ], + [ + 13, + 16 + ], + [ + 10, + 15 + ], + [ + 0, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 10 + ], + [ + 9, + 13 + ], + [ + 0, + 9 + ], + [ + 5, + 7 + ], + [ + 8, + 10 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.956292124999891, + "first_execute_seconds": 0.0020785830020031426, + "warm_seconds_median": 0.0005025840000598691, + "warm_seconds_mad": 5.08760022057686e-05, + "peak_rss_bytes": 323092480, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5159757649400297e-06, + "valid": true, + "failure": null, + "worker_pid": 74081, + "parent_pid": 57372, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784918069839478, + 0.14390479028224945, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319661517627537, + -0.04916920140385628, + -0.07137024402618408, + 0.0425293855369091, + 0.018034739419817924, + -0.16026033461093903, + -0.126834899187088 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095214903354645, + 0.3724291920661926, + 0.36280491948127747, + -0.10408811271190643, + 0.4185928702354431, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864843353629112, + -0.21433722972869873, + -0.04868510738015175, + -0.1068798303604126, + -0.2270757555961609, + -0.05777738615870476 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10432, + "bulk_block_path_flops": 10432, + "tail_path_flops": 0, + "last_path_flops": 536, + "estimated_energy_flops": 21896, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21896, + "total_backward_flops": 43656, + "total_flops": 65552, + "total_traffic_elements": 19563, + "total_traffic_bytes": 156504, + "peak_role_residual_elements": 1672, + "static_score": 170556, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 10432, + "backward_flops": 20816, + "forward_read_elements": 1672, + "forward_write_elements": 1312, + "backward_read_elements": 4296, + "backward_write_elements": 1672, + "residual_elements": 1672, + "peak_live_residual_elements": 1672, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31248, + "traffic_elements": 8952 + }, + "tail": null, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4448, + "recomputable_bytes": 3344, + "bytes_by_category": { + "primitive:dot_general": 1216, + "primitive:scan": 1152, + "constant": 960, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 45, + 52 + ], + [ + 15, + 22 + ], + [ + 28, + 35 + ], + [ + 40, + 41 + ], + [ + 20, + 26 + ], + [ + 20, + 21 + ], + [ + 33, + 34 + ], + [ + 1, + 2 + ], + [ + 21, + 22 + ], + [ + 19, + 20 + ], + [ + 14, + 48 + ], + [ + 21, + 22 + ], + [ + 39, + 42 + ], + [ + 1, + 2 + ], + [ + 26, + 27 + ], + [ + 4, + 34 + ], + [ + 9, + 10 + ], + [ + 9, + 36 + ], + [ + 4, + 5 + ], + [ + 20, + 27 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 16, + 35 + ], + [ + 18, + 19 + ], + [ + 10, + 11 + ], + [ + 24, + 27 + ], + [ + 2, + 3 + ], + [ + 10, + 11 + ], + [ + 12, + 21 + ], + [ + 6, + 12 + ], + [ + 3, + 4 + ], + [ + 11, + 23 + ], + [ + 16, + 17 + ], + [ + 4, + 13 + ], + [ + 9, + 17 + ], + [ + 11, + 17 + ], + [ + 3, + 9 + ], + [ + 5, + 11 + ], + [ + 4, + 13 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 1, + 7 + ], + [ + 9, + 12 + ], + [ + 9, + 16 + ], + [ + 6, + 8 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 10 + ], + [ + 7, + 10 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1212810419965535, + "first_execute_seconds": 0.005429791999631561, + "warm_seconds_median": 0.0007916659997135866, + "warm_seconds_mad": 0.0002444990022922866, + "peak_rss_bytes": 315457536, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.44275829964455e-06, + "valid": true, + "failure": null, + "worker_pid": 74149, + "parent_pid": 57372, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.16267919540405273, + 0.42951899766921997, + 0.5784918069839478, + 0.14390479028224945, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.04916916415095329, + -0.07137025892734528, + 0.042529232800006866, + 0.01803470216691494, + -0.16026033461093903, + -0.1268349438905716 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095255881547928, + 0.3724291920661926, + 0.36280494928359985, + -0.10408813506364822, + 0.4185929000377655, + 0.2404315322637558, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588499575853348, + -0.0586484931409359, + -0.21433737874031067, + -0.048685137182474136, + -0.10687986016273499, + -0.22707580029964447, + -0.05777735635638237 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15136, + "bulk_block_path_flops": 15136, + "tail_path_flops": 6096, + "last_path_flops": 536, + "estimated_energy_flops": 22264, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22264, + "total_backward_flops": 44392, + "total_flops": 66656, + "total_traffic_elements": 19443, + "total_traffic_bytes": 155544, + "peak_role_residual_elements": 2296, + "static_score": 181164, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15136, + "backward_flops": 30208, + "forward_read_elements": 2296, + "forward_write_elements": 1816, + "backward_read_elements": 5928, + "backward_write_elements": 2296, + "residual_elements": 2296, + "peak_live_residual_elements": 2296, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45344, + "traffic_elements": 12336 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 384, + "total_bytes": 25552, + "recomputable_bytes": 24320, + "bytes_by_category": { + "primitive:scan": 13952, + "primitive:dot_general": 6432, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:conj": 848, + "primitive:stack": 832, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 45, + 52 + ], + [ + 15, + 22 + ], + [ + 28, + 35 + ], + [ + 40, + 41 + ], + [ + 20, + 26 + ], + [ + 20, + 21 + ], + [ + 33, + 34 + ], + [ + 1, + 2 + ], + [ + 21, + 22 + ], + [ + 19, + 20 + ], + [ + 14, + 48 + ], + [ + 21, + 22 + ], + [ + 39, + 42 + ], + [ + 1, + 2 + ], + [ + 26, + 27 + ], + [ + 4, + 34 + ], + [ + 9, + 10 + ], + [ + 9, + 36 + ], + [ + 4, + 5 + ], + [ + 20, + 27 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 16, + 35 + ], + [ + 18, + 19 + ], + [ + 10, + 11 + ], + [ + 24, + 27 + ], + [ + 2, + 3 + ], + [ + 10, + 11 + ], + [ + 12, + 21 + ], + [ + 6, + 12 + ], + [ + 3, + 4 + ], + [ + 11, + 23 + ], + [ + 16, + 17 + ], + [ + 4, + 13 + ], + [ + 9, + 17 + ], + [ + 11, + 17 + ], + [ + 3, + 9 + ], + [ + 5, + 11 + ], + [ + 4, + 13 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 1, + 7 + ], + [ + 9, + 12 + ], + [ + 9, + 16 + ], + [ + 6, + 8 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 10 + ], + [ + 7, + 10 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.07050375000108, + "first_execute_seconds": 0.003001540997502161, + "warm_seconds_median": 0.00046633300007670186, + "warm_seconds_mad": 2.099999983329326e-05, + "peak_rss_bytes": 320880640, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.4715403017365405e-06, + "valid": true, + "failure": null, + "worker_pid": 74201, + "parent_pid": 57372, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267921030521393, + 0.42951899766921997, + 0.5784918069839478, + 0.14390480518341064, + 0.5593963265419006, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016316675464622676, + -0.04916910454630852, + -0.07137026637792587, + 0.04252929240465164, + 0.018034720793366432, + -0.16026031970977783, + -0.1268349438905716 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.3724292516708374, + 0.36280494928359985, + -0.10408811271190643, + 0.4185929000377655, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.058648448437452316, + -0.21433736383914948, + -0.04868507757782936, + -0.1068798303604126, + -0.2270757555961609, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "explicit", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15136, + "bulk_block_path_flops": 15136, + "tail_path_flops": 6096, + "last_path_flops": 536, + "estimated_energy_flops": 22264, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22264, + "total_backward_flops": 44392, + "total_flops": 66656, + "total_traffic_elements": 19443, + "total_traffic_bytes": 155544, + "peak_role_residual_elements": 2296, + "static_score": 181164, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15136, + "backward_flops": 30208, + "forward_read_elements": 2296, + "forward_write_elements": 1816, + "backward_read_elements": 5928, + "backward_write_elements": 2296, + "residual_elements": 2296, + "peak_live_residual_elements": 2296, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45344, + "traffic_elements": 12336 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 339, + "total_bytes": 9328, + "recomputable_bytes": 8096, + "bytes_by_category": { + "primitive:scan": 2560, + "primitive:conj": 1664, + "primitive:stack": 1472, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 320, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 45, + 52 + ], + [ + 15, + 22 + ], + [ + 28, + 35 + ], + [ + 40, + 41 + ], + [ + 20, + 26 + ], + [ + 20, + 21 + ], + [ + 33, + 34 + ], + [ + 1, + 2 + ], + [ + 21, + 22 + ], + [ + 19, + 20 + ], + [ + 14, + 48 + ], + [ + 21, + 22 + ], + [ + 39, + 42 + ], + [ + 1, + 2 + ], + [ + 26, + 27 + ], + [ + 4, + 34 + ], + [ + 9, + 10 + ], + [ + 9, + 36 + ], + [ + 4, + 5 + ], + [ + 20, + 27 + ], + [ + 4, + 5 + ], + [ + 9, + 10 + ], + [ + 16, + 35 + ], + [ + 18, + 19 + ], + [ + 10, + 11 + ], + [ + 24, + 27 + ], + [ + 2, + 3 + ], + [ + 10, + 11 + ], + [ + 12, + 21 + ], + [ + 6, + 12 + ], + [ + 3, + 4 + ], + [ + 11, + 23 + ], + [ + 16, + 17 + ], + [ + 4, + 13 + ], + [ + 9, + 17 + ], + [ + 11, + 17 + ], + [ + 3, + 9 + ], + [ + 5, + 11 + ], + [ + 4, + 13 + ], + [ + 7, + 13 + ], + [ + 6, + 7 + ], + [ + 1, + 7 + ], + [ + 9, + 12 + ], + [ + 9, + 16 + ], + [ + 6, + 8 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 10 + ], + [ + 7, + 10 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 1, + 3 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 19, + 20 + ], + [ + 17, + 18 + ], + [ + 1, + 7 + ], + [ + 4, + 5 + ], + [ + 8, + 9 + ], + [ + 4, + 5 + ], + [ + 6, + 19 + ], + [ + 1, + 11 + ], + [ + 5, + 17 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 3, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 13 + ], + [ + 7, + 8 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 5, + 6 + ], + [ + 5, + 8 + ], + [ + 5, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 4, + 5 + ], + [ + 6, + 7 + ], + [ + 6, + 9 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.8769082500002696, + "first_execute_seconds": 0.004414874998474261, + "warm_seconds_median": 0.0005465419999381993, + "warm_seconds_mad": 1.8415998056298122e-05, + "peak_rss_bytes": 284196864, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.44275829964455e-06, + "valid": true, + "failure": null, + "worker_pid": 74269, + "parent_pid": 57372, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.16267919540405273, + 0.42951899766921997, + 0.5784918069839478, + 0.14390479028224945, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.04916916415095329, + -0.07137025892734528, + 0.042529232800006866, + 0.01803470216691494, + -0.16026033461093903, + -0.1268349438905716 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095255881547928, + 0.3724291920661926, + 0.36280494928359985, + -0.10408813506364822, + 0.4185929000377655, + 0.2404315322637558, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588499575853348, + -0.0586484931409359, + -0.21433737874031067, + -0.048685137182474136, + -0.10687986016273499, + -0.22707580029964447, + -0.05777735635638237 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15136, + "bulk_block_path_flops": 15136, + "tail_path_flops": 6096, + "last_path_flops": 536, + "estimated_energy_flops": 22264, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22264, + "total_backward_flops": 44392, + "total_flops": 66656, + "total_traffic_elements": 19443, + "total_traffic_bytes": 155544, + "peak_role_residual_elements": 2296, + "static_score": 181164, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 15136, + "backward_flops": 30208, + "forward_read_elements": 2296, + "forward_write_elements": 1816, + "backward_read_elements": 5928, + "backward_write_elements": 2296, + "residual_elements": 2296, + "peak_live_residual_elements": 2296, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 45344, + "traffic_elements": 12336 + }, + "tail": { + "forward_flops": 6096, + "backward_flops": 12160, + "forward_read_elements": 1028, + "forward_write_elements": 788, + "backward_read_elements": 2604, + "backward_write_elements": 1028, + "residual_elements": 1028, + "peak_live_residual_elements": 1028, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18256, + "traffic_elements": 5448 + }, + "last": { + "forward_flops": 536, + "backward_flops": 1048, + "forward_read_elements": 200, + "forward_write_elements": 89, + "backward_read_elements": 378, + "backward_write_elements": 200, + "residual_elements": 200, + "peak_live_residual_elements": 200, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1584, + "traffic_elements": 867 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 5280, + "recomputable_bytes": 3344, + "bytes_by_category": { + "constant": 1792, + "primitive:dot_general": 1216, + "primitive:scan": 768, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:reshape": 96, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 1.5705281250011467, + "first_execute_seconds": 0.0010933750018011779, + "warm_seconds_median": 0.0002676250005606562, + "warm_seconds_mad": 2.5291999918408692e-05, + "peak_rss_bytes": 265060352, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 57401, + "parent_pid": 57372, + "energy": -7.857045650482178, + "gradient": [ + [ + [ + 0.015582224354147911, + 0.16267919540405273, + 0.4295193552970886, + 0.5784921646118164, + 0.14390496909618378, + 0.5593967437744141, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780269607901573, + 0.0001632701460039243, + -0.049169089645147324, + -0.07136998325586319, + 0.042529381811618805, + 0.018034717068076134, + -0.1602606475353241, + -0.12683428823947906 + ] + ], + [ + [ + -0.18359225988388062, + -0.024095401167869568, + 0.3724295198917389, + 0.36280566453933716, + -0.10408809781074524, + 0.41859304904937744, + 0.24043166637420654, + 0.0 + ], + [ + 0.04162909463047981, + 0.08588515222072601, + -0.058648478239774704, + -0.21433764696121216, + -0.04868509992957115, + -0.10688084363937378, + -0.22707657516002655, + -0.05777782201766968 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 376, + "temp_size_in_bytes": 149896 + }, + "static_estimate": { + "parameter_count": 30, + "state_bytes": 2048, + "saved_boundary_upper_bound_bytes": 6144, + "estimated_forward_gate_applications": 30, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ansatz-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ansatz-findings.md new file mode 100644 index 000000000..a66cdb491 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ansatz-findings.md @@ -0,0 +1,25 @@ +# VQETape contraction-aware ansatz findings + +Each policy ran in a fresh process with complex128 arithmetic. Time to target includes every structure compilation, full-pool screening, synchronized value-gradient call, and optimizer overhead. + +## Controlled comparison + +- Four-qubit open TFIM; target energy error: `1e-10`. +- Fixed control: depth-two RZZ–RX, 14 active parameters. +- Adaptive seed: depth-one RZZ–RX, then at most seven additions. +- Pool: X, ZZ, YZ, and ZY rotations. YZ/ZY are the first local Lie-commutator closure and remain global-X symmetric with Schmidt rank two. + +| policy | converged | final parameters | compiled structures | calls | compile (s) | screening (s) | target (s) | final error | max boundary | +|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| fixed | no | 14 | 1 | 119 | 1.074 | 0.000 | — | 1.697e-07 | 48 | +| gradient-only | yes | 10 | 4 | 94 | 3.139 | 2.109 | 5.860 | 5.050e-11 | 48 | +| contraction-aware | yes | 10 | 4 | 94 | 3.621 | 2.572 | 6.865 | 5.050e-11 | 48 | + +## Result + +- The original X/ZZ-only pool was rejected during development because a fully optimized depth-one seed had vanishing insertion gradients. The commutator-complete YZ/ZY extension removes that false convergence. +- Both adaptive policies reached the target using 10 parameters; the 14-parameter fixed control did not reach the same target under its budget. +- Gradient-only selected: `yz-0-1 → yz-2-3 → zy-1-2`. +- Contraction-aware selected: `yz-0-1 → yz-2-3 → zy-1-2`. +- The two adaptive sequences are identical on this symmetric workload. The contraction penalty therefore causes no loss, but it does not earn a distinct performance claim here. +- The strongest supported ansatz result is the Lie-closed pool and adaptive parameter efficiency. Contraction-aware ranking remains a tested selector, not a universal winner. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ansatz-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ansatz-report.json new file mode 100644 index 000000000..caba45e9b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-ansatz-report.json @@ -0,0 +1,3252 @@ +{ + "schema_version": 1, + "generated_at": "2026-07-29T15:32:28.358980+00:00", + "environment": { + "python": "3.12.13", + "platform": "macOS-15.6-arm64-arm-64bit", + "jax": "0.11.0", + "parent_backend": "cpu", + "worker_x64_enabled": true, + "devices": [ + { + "id": 0, + "platform": "cpu", + "device_kind": "cpu" + } + ] + }, + "method": { + "fresh_process_per_policy": true, + "unique_jax_cache_per_policy": true, + "synchronization": "jax.block_until_ready", + "compile_and_screening_in_target_time": true, + "equal_maximum_parameter_budget": true, + "equal_adaptive_pool_budget": true + }, + "results": [ + { + "request": { + "spec": { + "nqubits": 4, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex128" + }, + "policy": "fixed", + "target_energy_error": 1e-10, + "max_growth_rounds": 7, + "optimizer_steps_per_round": 100, + "seed": 3, + "initial_scale": 0.15, + "metric_epsilon": 1e-12, + "cost_weights": { + "boundary": 3.0, + "compile": 0.5, + "warm": 0.5, + "memory": 1.0 + }, + "seed_depth": 1, + "fixed_depth": 2 + }, + "converged": false, + "ground_energy": -4.758770483143631, + "target_energy": -4.758770483043631, + "final_energy": -4.75877031341861, + "final_parameters": [ + 0.33912478460966855, + -0.5249589981859161, + -1.0405524530798658, + 0.9085122182895453, + -1.4114586478481381, + 0.37090258822229805, + -0.8985834450900041, + -0.7562121664503986, + -0.13781188393909266, + 0.790113016039145, + -1.5643485010213827, + -0.37948815016271836, + -0.34552659049992357, + -0.03799384494370163 + ], + "final_structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + } + ] + }, + "rounds": [ + { + "round_index": 0, + "phase": "fixed", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + } + ] + }, + "selected_operator": null, + "candidates": [], + "cache_key": "d7040d90dcd0771e96cfb0912f688df66cea587efc19a521cde8519feeeb7164", + "compile_seconds": 1.074129874999926, + "screening_seconds": 0.0, + "optimization_seconds": 0.772486707995995, + "evaluations": 119, + "optimizer_steps": 100, + "optimizer_message": "STOP: TOTAL NO. OF ITERATIONS REACHED LIMIT", + "energy": -4.75877031341861, + "energy_error": 1.6972502070444762e-07, + "boundary_dimension": 48 + } + ], + "evaluations": 119, + "compiled_structures": 1, + "compile_seconds": 1.074129874999926, + "screening_seconds": 0.0, + "optimization_seconds": 0.772486707995995, + "time_to_target_seconds": null, + "total_seconds": 1.877871791999496, + "peak_rss_bytes": 261292032, + "failure": "target not reached within ansatz budget", + "skipped": false + }, + { + "request": { + "spec": { + "nqubits": 4, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex128" + }, + "policy": "gradient-only", + "target_energy_error": 1e-10, + "max_growth_rounds": 7, + "optimizer_steps_per_round": 100, + "seed": 3, + "initial_scale": 0.15, + "metric_epsilon": 1e-12, + "cost_weights": { + "boundary": 3.0, + "compile": 0.5, + "warm": 0.5, + "memory": 1.0 + }, + "seed_depth": 1, + "fixed_depth": 2 + }, + "converged": true, + "ground_energy": -4.758770483143631, + "target_energy": -4.758770483043631, + "final_energy": -4.758770483093128, + "final_parameters": [ + 0.22382262328061822, + -0.5152614270045357, + -0.7875098054122487, + -3.330148514837988e-09, + -1.5707963249900354, + -1.3689177424037237e-09, + -1.570796325335325, + -0.7166155481682789, + 0.31543620590999943, + -0.09212547977346816 + ], + "final_structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + }, + { + "kind": "yz", + "wire": 2 + }, + { + "kind": "zy", + "wire": 1 + } + ] + }, + "rounds": [ + { + "round_index": 0, + "phase": "seed", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + } + ] + }, + "selected_operator": null, + "candidates": [], + "cache_key": "210f661a970111150cc34ad285301b22df94fe43121259d2ac2974862bba05df", + "compile_seconds": 0.5558170000003884, + "screening_seconds": 0.0, + "optimization_seconds": 0.5240562089966261, + "evaluations": 41, + "optimizer_steps": 34, + "optimizer_message": null, + "energy": -4.653055889417638, + "energy_error": 0.10571459372599268, + "boundary_dimension": 12 + }, + { + "round_index": 1, + "phase": "growth", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + } + ] + }, + "selected_operator": { + "kind": "yz", + "wire": 0 + }, + "candidates": [ + { + "operator": { + "kind": "yz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 0 + }, + "gradient": 0.21871862059299474, + "metric": 0.25, + "normalized_signal": 0.19135133997564413 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 0.19135133997564413, + "contraction_score": 0.02292423939882768, + "selection_score": 0.19135133997564413, + "eligible": true, + "exclusion_reason": null, + "rank": 1, + "selected": true + }, + { + "operator": { + "kind": "zy", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 1 + }, + "gradient": 0.10592853191234286, + "metric": 0.25, + "normalized_signal": 0.04488341549223743 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 0.04488341549223743, + "contraction_score": 0.0053771150069399365, + "selection_score": 0.04488341549223743, + "eligible": true, + "exclusion_reason": null, + "rank": 2, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 2 + }, + "gradient": -0.07066881914201811, + "metric": 0.25, + "normalized_signal": 0.019976327995629158 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 0.019976327995629158, + "contraction_score": 0.0023932005145069525, + "selection_score": 0.019976327995629158, + "eligible": true, + "exclusion_reason": null, + "rank": 3, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 2 + }, + "gradient": 2.3822073202950378e-09, + "metric": 0.25, + "normalized_signal": 2.2699646867378263e-17 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 2.2699646867378263e-17, + "contraction_score": 2.7194590804687485e-18, + "selection_score": 2.2699646867378263e-17, + "eligible": true, + "exclusion_reason": null, + "rank": 4, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 0 + }, + "gradient": -1.5590382318464435e-09, + "metric": 0.25, + "normalized_signal": 9.722400833396652e-18 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 9.722400833396652e-18, + "contraction_score": 1.1647613456196093e-18, + "selection_score": 9.722400833396652e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 5, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "gradient": 9.781225924549106e-10, + "metric": 0.1966682828643296, + "normalized_signal": 4.8646573404306405e-18 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 4.8646573404306405e-18, + "contraction_score": 5.827948185755628e-19, + "selection_score": 4.8646573404306405e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 6, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "gradient": 3.098875674665014e-10, + "metric": 0.2169828671312801, + "normalized_signal": 4.425709077379004e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 4.425709077379004e-19, + "contraction_score": 5.3020801637613174e-20, + "selection_score": 4.425709077379004e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 7, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "gradient": -2.9484454210222814e-10, + "metric": 0.22102554584869538, + "normalized_signal": 3.9331790211521554e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 3.9331790211521554e-19, + "contraction_score": 4.7120201766454976e-20, + "selection_score": 3.9331790211521554e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 8, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 1 + }, + "gradient": -2.896363149318404e-10, + "metric": 0.25, + "normalized_signal": 3.3555677970784273e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 3.3555677970784273e-19, + "contraction_score": 4.020031399258235e-20, + "selection_score": 3.3555677970784273e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 9, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 3 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 3 + }, + "gradient": -7.65779906287166e-10, + "metric": 0.053331717135670254, + "normalized_signal": 1.0995686926231863e-17 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.0995686926231863e-17, + "contraction_score": 9.916534628431918e-18, + "selection_score": 1.0995686926231863e-17, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 10, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 2 + }, + "gradient": -2.488867844192041e-10, + "metric": 0.08342290933650495, + "normalized_signal": 7.42537415087279e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 7.42537415087279e-19, + "contraction_score": 6.696623902643895e-19, + "selection_score": 7.42537415087279e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 11, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 0 + }, + "gradient": -7.692248246192046e-11, + "metric": 0.03420852244550038, + "normalized_signal": 1.7297058992706632e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.7297058992706632e-19, + "contraction_score": 1.559946964859484e-19, + "selection_score": 1.7297058992706632e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 12, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 1 + }, + "gradient": 9.842355534910695e-11, + "metric": 0.06722565531422026, + "normalized_signal": 1.4409969232929863e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.4409969232929863e-19, + "contraction_score": 1.2995728220679452e-19, + "selection_score": 1.4409969232929863e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 13, + "selected": false + } + ], + "cache_key": "ce7f85b51749014ebce23969de8917d7329dde622665f085b80cde765fcd2449", + "compile_seconds": 0.9077652499981923, + "screening_seconds": 1.5531711670046207, + "optimization_seconds": 0.009117916997638531, + "evaluations": 16, + "optimizer_steps": 11, + "optimizer_message": null, + "energy": -4.7453415654512545, + "energy_error": 0.01342891769237653, + "boundary_dimension": 48 + }, + { + "round_index": 2, + "phase": "growth", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + }, + { + "kind": "yz", + "wire": 2 + } + ] + }, + "selected_operator": { + "kind": "yz", + "wire": 2 + }, + "candidates": [ + { + "operator": { + "kind": "yz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 2 + }, + "gradient": -0.12764365638487957, + "metric": 0.25, + "normalized_signal": 0.06517161206094414 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 0.06517161206094414, + "contraction_score": 0.05626326221088704, + "selection_score": 0.06517161206094414, + "eligible": true, + "exclusion_reason": null, + "rank": 1, + "selected": true + }, + { + "operator": { + "kind": "zy", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 1 + }, + "gradient": -0.11480524424361405, + "metric": 0.25, + "normalized_signal": 0.05272097642313262 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 0.05272097642313262, + "contraction_score": 0.045514512019970615, + "selection_score": 0.05272097642313262, + "eligible": true, + "exclusion_reason": null, + "rank": 2, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 1 + }, + "gradient": -1.2886787472691025e-09, + "metric": 0.10089115272867119, + "normalized_signal": 1.6460243229777947e-17 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.6460243229777947e-17, + "contraction_score": 1.507808540132331e-17, + "selection_score": 1.6460243229777947e-17, + "eligible": true, + "exclusion_reason": null, + "rank": 3, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "gradient": 8.397164875007854e-10, + "metric": 0.1903584928576708, + "normalized_signal": 3.704188706222667e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 3.0 + }, + "gradient_score": 3.704188706222667e-18, + "contraction_score": 4.4536399206688955e-19, + "selection_score": 3.704188706222667e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 4, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "gradient": 6.725857765325998e-10, + "metric": 0.18501355740291497, + "normalized_signal": 2.4450728538036735e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 2.4450728538036735e-18, + "contraction_score": 2.1108542622765528e-18, + "selection_score": 2.4450728538036735e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 5, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 0 + }, + "gradient": -2.704503261127322e-10, + "metric": 0.06190301772107437, + "normalized_signal": 1.1815801811613548e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.1815801811613548e-18, + "contraction_score": 1.0823635247279585e-18, + "selection_score": 1.1815801811613548e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 6, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "gradient": 4.4462368823421016e-11, + "metric": 0.1937062269597217, + "normalized_signal": 1.02056721273642e-20 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.02056721273642e-20, + "contraction_score": 8.810652196285641e-21, + "selection_score": 1.02056721273642e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 7, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 1 + }, + "gradient": -2.219169292771994e-12, + "metric": 0.25, + "normalized_signal": 1.9698849399849817e-23 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.9698849399849817e-23, + "contraction_score": 1.7006200920733658e-23, + "selection_score": 1.9698849399849817e-23, + "eligible": true, + "exclusion_reason": null, + "rank": 8, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 2 + }, + "gradient": 7.333023077649159e-13, + "metric": 0.25, + "normalized_signal": 2.1509290982848022e-24 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 2.1509290982848022e-24, + "contraction_score": 1.8569172071523474e-24, + "selection_score": 2.1509290982848022e-24, + "eligible": true, + "exclusion_reason": null, + "rank": 9, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 0 + }, + "gradient": 3.6376457401843254e-13, + "metric": 0.25, + "normalized_signal": 5.292986612411296e-25 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 3.0 + }, + "gradient_score": 5.292986612411296e-25, + "contraction_score": 6.363891892710701e-26, + "selection_score": 5.292986612411296e-25, + "eligible": true, + "exclusion_reason": null, + "rank": 10, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 3 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 3 + }, + "gradient": -3.004223634828437e-10, + "metric": 0.05629377304027805, + "normalized_signal": 1.6032607445665153e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.6032607445665153e-18, + "contraction_score": 1.4686357965494796e-18, + "selection_score": 1.6032607445665153e-18, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 11, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 2 + }, + "gradient": 3.0278680400787076e-10, + "metric": 0.10839916216209466, + "normalized_signal": 8.457615986308227e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 8.457615986308227e-19, + "contraction_score": 7.747434491274711e-19, + "selection_score": 8.457615986308227e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 12, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 0 + }, + "gradient": -1.545430450278218e-13, + "metric": 0.25, + "normalized_signal": 9.553421106550329e-26 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 3.0 + }, + "gradient_score": 9.553421106550329e-26, + "contraction_score": 1.1486320215710883e-26, + "selection_score": 9.553421106550329e-26, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 13, + "selected": false + } + ], + "cache_key": "e0556d9e83e976e49fb2b9504ae5b37c1df3c0741f6440ed4db7d638b3021c44", + "compile_seconds": 0.733225541000138, + "screening_seconds": 0.27244270899973344, + "optimization_seconds": 0.01147800000035204, + "evaluations": 20, + "optimizer_steps": 13, + "optimizer_message": null, + "energy": -4.758525601066369, + "energy_error": 0.00024488207726225397, + "boundary_dimension": 48 + }, + { + "round_index": 3, + "phase": "growth", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + }, + { + "kind": "yz", + "wire": 2 + }, + { + "kind": "zy", + "wire": 1 + } + ] + }, + "selected_operator": { + "kind": "zy", + "wire": 1 + }, + "candidates": [ + { + "operator": { + "kind": "zy", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 1 + }, + "gradient": 0.004635874325836897, + "metric": 0.25, + "normalized_signal": 8.596532305947097e-05 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 0.0 + }, + "gradient_score": 8.596532305947097e-05, + "contraction_score": 7.563069405778594e-05, + "selection_score": 8.596532305947097e-05, + "eligible": true, + "exclusion_reason": null, + "rank": 1, + "selected": true + }, + { + "operator": { + "kind": "yz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 1 + }, + "gradient": 0.004635872932907292, + "metric": 0.25, + "normalized_signal": 8.596527139990599e-05 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 0.0 + }, + "gradient_score": 8.596527139990599e-05, + "contraction_score": 7.563064860866045e-05, + "selection_score": 8.596527139990599e-05, + "eligible": true, + "exclusion_reason": null, + "rank": 2, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 2 + }, + "gradient": -6.063747060025548e-09, + "metric": 0.25, + "normalized_signal": 1.4707611363128563e-16 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 1.4707611363128563e-16, + "contraction_score": 1.7729564059637922e-17, + "selection_score": 1.4707611363128563e-16, + "eligible": true, + "exclusion_reason": null, + "rank": 3, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 0 + }, + "gradient": 1.2258634662920542e-09, + "metric": 0.25, + "normalized_signal": 6.010964951934238e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 6.010964951934238e-18, + "contraction_score": 7.246029660718938e-19, + "selection_score": 6.010964951934238e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 4, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 1 + }, + "gradient": -6.540159765948044e-10, + "metric": 0.10639069581671287, + "normalized_signal": 4.020435192698892e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 4.020435192698892e-18, + "contraction_score": 3.725410451939692e-18, + "selection_score": 4.020435192698892e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 5, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "gradient": 5.305477452457441e-10, + "metric": 0.18884587273836909, + "normalized_signal": 1.4905324956390325e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 1.4905324956390325e-18, + "contraction_score": 1.796790159322162e-19, + "selection_score": 1.4905324956390325e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 6, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 0 + }, + "gradient": -1.9825596577641908e-10, + "metric": 0.06399888994209699, + "normalized_signal": 6.1415796431607e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 6.1415796431607e-19, + "contraction_score": 5.690902575820849e-19, + "selection_score": 6.1415796431607e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 7, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "gradient": 2.993987713024358e-10, + "metric": 0.18019714238876744, + "normalized_signal": 4.974530842643289e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 0.0 + }, + "gradient_score": 4.974530842643289e-19, + "contraction_score": 4.3764998123801615e-19, + "selection_score": 4.974530842643289e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 8, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 3 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 3 + }, + "gradient": -1.630796295291208e-10, + "metric": 0.06399889075476459, + "normalized_signal": 4.155535393394266e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 4.155535393394266e-19, + "contraction_score": 3.85059682495814e-19, + "selection_score": 4.155535393394266e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 9, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 2 + }, + "gradient": 9.81935286863538e-11, + "metric": 0.10639069604422494, + "normalized_signal": 9.062793490681877e-20 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 9.062793490681877e-20, + "contraction_score": 8.397753968344069e-20, + "selection_score": 9.062793490681877e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 10, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "gradient": 8.721152666581015e-11, + "metric": 0.1888458720299911, + "normalized_signal": 4.027543891525008e-20 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 4.027543891525008e-20, + "contraction_score": 4.85507780051965e-21, + "selection_score": 4.027543891525008e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 11, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 2 + }, + "gradient": -2.0491470742456386e-09, + "metric": 0.25, + "normalized_signal": 1.679601492749066e-17 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 1.679601492749066e-17, + "contraction_score": 2.024706903461693e-18, + "selection_score": 1.679601492749066e-17, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 12, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 0 + }, + "gradient": 4.885152282696481e-10, + "metric": 0.25, + "normalized_signal": 9.545885130015672e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 9.545885130015672e-19, + "contraction_score": 1.1507265030326225e-19, + "selection_score": 9.545885130015672e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 13, + "selected": false + } + ], + "cache_key": "7d5c347975515b1d46087b7fbb3f45e941de4fde610bc4cd3c244b2586378b7d", + "compile_seconds": 0.942124708002666, + "screening_seconds": 0.2832720000005793, + "optimization_seconds": 0.011234334000619128, + "evaluations": 17, + "optimizer_steps": 13, + "optimizer_message": null, + "energy": -4.758770483093128, + "energy_error": 5.050271312256882e-11, + "boundary_dimension": 48 + } + ], + "evaluations": 94, + "compiled_structures": 4, + "compile_seconds": 3.1389324990013847, + "screening_seconds": 2.1088858760049334, + "optimization_seconds": 0.5558864599952358, + "time_to_target_seconds": 5.860082209001121, + "total_seconds": 5.880126791998919, + "peak_rss_bytes": 308166656, + "failure": null, + "skipped": false + }, + { + "request": { + "spec": { + "nqubits": 4, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex128" + }, + "policy": "contraction-aware", + "target_energy_error": 1e-10, + "max_growth_rounds": 7, + "optimizer_steps_per_round": 100, + "seed": 3, + "initial_scale": 0.15, + "metric_epsilon": 1e-12, + "cost_weights": { + "boundary": 3.0, + "compile": 0.5, + "warm": 0.5, + "memory": 1.0 + }, + "seed_depth": 1, + "fixed_depth": 2 + }, + "converged": true, + "ground_energy": -4.758770483143631, + "target_energy": -4.758770483043631, + "final_energy": -4.758770483093128, + "final_parameters": [ + 0.22382262328061822, + -0.5152614270045357, + -0.7875098054122487, + -3.330148514837988e-09, + -1.5707963249900354, + -1.3689177424037237e-09, + -1.570796325335325, + -0.7166155481682789, + 0.31543620590999943, + -0.09212547977346816 + ], + "final_structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + }, + { + "kind": "yz", + "wire": 2 + }, + { + "kind": "zy", + "wire": 1 + } + ] + }, + "rounds": [ + { + "round_index": 0, + "phase": "seed", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + } + ] + }, + "selected_operator": null, + "candidates": [], + "cache_key": "210f661a970111150cc34ad285301b22df94fe43121259d2ac2974862bba05df", + "compile_seconds": 0.7371983749981155, + "screening_seconds": 0.0, + "optimization_seconds": 0.570086583000375, + "evaluations": 41, + "optimizer_steps": 34, + "optimizer_message": null, + "energy": -4.653055889417638, + "energy_error": 0.10571459372599268, + "boundary_dimension": 12 + }, + { + "round_index": 1, + "phase": "growth", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + } + ] + }, + "selected_operator": { + "kind": "yz", + "wire": 0 + }, + "candidates": [ + { + "operator": { + "kind": "yz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 0 + }, + "gradient": 0.21871862059299474, + "metric": 0.25, + "normalized_signal": 0.19135133997564413 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 0.19135133997564413, + "contraction_score": 0.02292423939882768, + "selection_score": 0.02292423939882768, + "eligible": true, + "exclusion_reason": null, + "rank": 1, + "selected": true + }, + { + "operator": { + "kind": "zy", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 1 + }, + "gradient": 0.10592853191234286, + "metric": 0.25, + "normalized_signal": 0.04488341549223743 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 0.04488341549223743, + "contraction_score": 0.0053771150069399365, + "selection_score": 0.0053771150069399365, + "eligible": true, + "exclusion_reason": null, + "rank": 2, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 2 + }, + "gradient": -0.07066881914201811, + "metric": 0.25, + "normalized_signal": 0.019976327995629158 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 0.019976327995629158, + "contraction_score": 0.0023932005145069525, + "selection_score": 0.0023932005145069525, + "eligible": true, + "exclusion_reason": null, + "rank": 3, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 2 + }, + "gradient": 2.3822073202950378e-09, + "metric": 0.25, + "normalized_signal": 2.2699646867378263e-17 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 2.2699646867378263e-17, + "contraction_score": 2.7194590804687485e-18, + "selection_score": 2.7194590804687485e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 4, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 0 + }, + "gradient": -1.5590382318464435e-09, + "metric": 0.25, + "normalized_signal": 9.722400833396652e-18 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 9.722400833396652e-18, + "contraction_score": 1.1647613456196093e-18, + "selection_score": 1.1647613456196093e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 5, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "gradient": 9.781225924549106e-10, + "metric": 0.1966682828643296, + "normalized_signal": 4.8646573404306405e-18 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 4.8646573404306405e-18, + "contraction_score": 5.827948185755628e-19, + "selection_score": 5.827948185755628e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 6, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "gradient": 3.098875674665014e-10, + "metric": 0.2169828671312801, + "normalized_signal": 4.425709077379004e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 4.425709077379004e-19, + "contraction_score": 5.3020801637613174e-20, + "selection_score": 5.3020801637613174e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 7, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "gradient": -2.9484454210222814e-10, + "metric": 0.22102554584869538, + "normalized_signal": 3.9331790211521554e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 3.9331790211521554e-19, + "contraction_score": 4.7120201766454976e-20, + "selection_score": 4.7120201766454976e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 8, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 1 + }, + "gradient": -2.896363149318404e-10, + "metric": 0.25, + "normalized_signal": 3.3555677970784273e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 48, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.2, + "delta_warm_proxy": 0.17647058823529413, + "delta_memory_relative": 3.0 + }, + "gradient_score": 3.3555677970784273e-19, + "contraction_score": 4.020031399258235e-20, + "selection_score": 4.020031399258235e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 9, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 3 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 3 + }, + "gradient": -7.65779906287166e-10, + "metric": 0.053331717135670254, + "normalized_signal": 1.0995686926231863e-17 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.0995686926231863e-17, + "contraction_score": 9.916534628431918e-18, + "selection_score": 9.916534628431918e-18, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 10, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 2 + }, + "gradient": -2.488867844192041e-10, + "metric": 0.08342290933650495, + "normalized_signal": 7.42537415087279e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 7.42537415087279e-19, + "contraction_score": 6.696623902643895e-19, + "selection_score": 6.696623902643895e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 11, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 0 + }, + "gradient": -7.692248246192046e-11, + "metric": 0.03420852244550038, + "normalized_signal": 1.7297058992706632e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.7297058992706632e-19, + "contraction_score": 1.559946964859484e-19, + "selection_score": 1.559946964859484e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 12, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 1 + }, + "gradient": 9.842355534910695e-11, + "metric": 0.06722565531422026, + "normalized_signal": 1.4409969232929863e-19 + }, + "cost": { + "boundary_before": 12, + "boundary_after": 12, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.1, + "delta_warm_proxy": 0.11764705882352941, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.4409969232929863e-19, + "contraction_score": 1.2995728220679452e-19, + "selection_score": 1.2995728220679452e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 13, + "selected": false + } + ], + "cache_key": "ce7f85b51749014ebce23969de8917d7329dde622665f085b80cde765fcd2449", + "compile_seconds": 0.6989134159957757, + "screening_seconds": 1.7654367499999353, + "optimization_seconds": 0.009596249998139683, + "evaluations": 16, + "optimizer_steps": 11, + "optimizer_message": null, + "energy": -4.7453415654512545, + "energy_error": 0.01342891769237653, + "boundary_dimension": 48 + }, + { + "round_index": 2, + "phase": "growth", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + }, + { + "kind": "yz", + "wire": 2 + } + ] + }, + "selected_operator": { + "kind": "yz", + "wire": 2 + }, + "candidates": [ + { + "operator": { + "kind": "yz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 2 + }, + "gradient": -0.12764365638487957, + "metric": 0.25, + "normalized_signal": 0.06517161206094414 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 0.06517161206094414, + "contraction_score": 0.05626326221088704, + "selection_score": 0.05626326221088704, + "eligible": true, + "exclusion_reason": null, + "rank": 1, + "selected": true + }, + { + "operator": { + "kind": "zy", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 1 + }, + "gradient": -0.11480524424361405, + "metric": 0.25, + "normalized_signal": 0.05272097642313262 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 0.05272097642313262, + "contraction_score": 0.045514512019970615, + "selection_score": 0.045514512019970615, + "eligible": true, + "exclusion_reason": null, + "rank": 2, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 1 + }, + "gradient": -1.2886787472691025e-09, + "metric": 0.10089115272867119, + "normalized_signal": 1.6460243229777947e-17 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.6460243229777947e-17, + "contraction_score": 1.507808540132331e-17, + "selection_score": 1.507808540132331e-17, + "eligible": true, + "exclusion_reason": null, + "rank": 3, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "gradient": 6.725857765325998e-10, + "metric": 0.18501355740291497, + "normalized_signal": 2.4450728538036735e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 2.4450728538036735e-18, + "contraction_score": 2.1108542622765528e-18, + "selection_score": 2.1108542622765528e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 4, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 0 + }, + "gradient": -2.704503261127322e-10, + "metric": 0.06190301772107437, + "normalized_signal": 1.1815801811613548e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.1815801811613548e-18, + "contraction_score": 1.0823635247279585e-18, + "selection_score": 1.0823635247279585e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 5, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "gradient": 8.397164875007854e-10, + "metric": 0.1903584928576708, + "normalized_signal": 3.704188706222667e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 3.0 + }, + "gradient_score": 3.704188706222667e-18, + "contraction_score": 4.4536399206688955e-19, + "selection_score": 4.4536399206688955e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 6, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "gradient": 4.4462368823421016e-11, + "metric": 0.1937062269597217, + "normalized_signal": 1.02056721273642e-20 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.02056721273642e-20, + "contraction_score": 8.810652196285641e-21, + "selection_score": 8.810652196285641e-21, + "eligible": true, + "exclusion_reason": null, + "rank": 7, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 1 + }, + "gradient": -2.219169292771994e-12, + "metric": 0.25, + "normalized_signal": 1.9698849399849817e-23 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.9698849399849817e-23, + "contraction_score": 1.7006200920733658e-23, + "selection_score": 1.7006200920733658e-23, + "eligible": true, + "exclusion_reason": null, + "rank": 8, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 2 + }, + "gradient": 7.333023077649159e-13, + "metric": 0.25, + "normalized_signal": 2.1509290982848022e-24 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 0.0 + }, + "gradient_score": 2.1509290982848022e-24, + "contraction_score": 1.8569172071523474e-24, + "selection_score": 1.8569172071523474e-24, + "eligible": true, + "exclusion_reason": null, + "rank": 9, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 0 + }, + "gradient": 3.6376457401843254e-13, + "metric": 0.25, + "normalized_signal": 5.292986612411296e-25 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 3.0 + }, + "gradient_score": 5.292986612411296e-25, + "contraction_score": 6.363891892710701e-26, + "selection_score": 6.363891892710701e-26, + "eligible": true, + "exclusion_reason": null, + "rank": 10, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 3 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 3 + }, + "gradient": -3.004223634828437e-10, + "metric": 0.05629377304027805, + "normalized_signal": 1.6032607445665153e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 1.6032607445665153e-18, + "contraction_score": 1.4686357965494796e-18, + "selection_score": 1.4686357965494796e-18, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 11, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 2 + }, + "gradient": 3.0278680400787076e-10, + "metric": 0.10839916216209466, + "normalized_signal": 8.457615986308227e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.08333333333333333, + "delta_warm_proxy": 0.1, + "delta_memory_relative": 0.0 + }, + "gradient_score": 8.457615986308227e-19, + "contraction_score": 7.747434491274711e-19, + "selection_score": 7.747434491274711e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 12, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 0 + }, + "gradient": -1.545430450278218e-13, + "metric": 0.25, + "normalized_signal": 9.553421106550329e-26 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.16666666666666666, + "delta_warm_proxy": 0.15, + "delta_memory_relative": 3.0 + }, + "gradient_score": 9.553421106550329e-26, + "contraction_score": 1.1486320215710883e-26, + "selection_score": 1.1486320215710883e-26, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 13, + "selected": false + } + ], + "cache_key": "e0556d9e83e976e49fb2b9504ae5b37c1df3c0741f6440ed4db7d638b3021c44", + "compile_seconds": 0.8361778750040685, + "screening_seconds": 0.29861395899933996, + "optimization_seconds": 0.008327791998453904, + "evaluations": 20, + "optimizer_steps": 13, + "optimizer_message": null, + "energy": -4.758525601066369, + "energy_error": 0.00024488207726225397, + "boundary_dimension": 48 + }, + { + "round_index": 3, + "phase": "growth", + "structure": { + "nqubits": 4, + "operators": [ + { + "kind": "rzz", + "wire": 0 + }, + { + "kind": "rzz", + "wire": 1 + }, + { + "kind": "rzz", + "wire": 2 + }, + { + "kind": "rx", + "wire": 0 + }, + { + "kind": "rx", + "wire": 1 + }, + { + "kind": "rx", + "wire": 2 + }, + { + "kind": "rx", + "wire": 3 + }, + { + "kind": "yz", + "wire": 0 + }, + { + "kind": "yz", + "wire": 2 + }, + { + "kind": "zy", + "wire": 1 + } + ] + }, + "selected_operator": { + "kind": "zy", + "wire": 1 + }, + "candidates": [ + { + "operator": { + "kind": "zy", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 1 + }, + "gradient": 0.004635874325836897, + "metric": 0.25, + "normalized_signal": 8.596532305947097e-05 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 0.0 + }, + "gradient_score": 8.596532305947097e-05, + "contraction_score": 7.563069405778594e-05, + "selection_score": 7.563069405778594e-05, + "eligible": true, + "exclusion_reason": null, + "rank": 1, + "selected": true + }, + { + "operator": { + "kind": "yz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 1 + }, + "gradient": 0.004635872932907292, + "metric": 0.25, + "normalized_signal": 8.596527139990599e-05 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 0.0 + }, + "gradient_score": 8.596527139990599e-05, + "contraction_score": 7.563064860866045e-05, + "selection_score": 7.563064860866045e-05, + "eligible": true, + "exclusion_reason": null, + "rank": 2, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 2 + }, + "gradient": -6.063747060025548e-09, + "metric": 0.25, + "normalized_signal": 1.4707611363128563e-16 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 1.4707611363128563e-16, + "contraction_score": 1.7729564059637922e-17, + "selection_score": 1.7729564059637922e-17, + "eligible": true, + "exclusion_reason": null, + "rank": 3, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 1 + }, + "gradient": -6.540159765948044e-10, + "metric": 0.10639069581671287, + "normalized_signal": 4.020435192698892e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 4.020435192698892e-18, + "contraction_score": 3.725410451939692e-18, + "selection_score": 3.725410451939692e-18, + "eligible": true, + "exclusion_reason": null, + "rank": 4, + "selected": false + }, + { + "operator": { + "kind": "zy", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "zy", + "wire": 0 + }, + "gradient": 1.2258634662920542e-09, + "metric": 0.25, + "normalized_signal": 6.010964951934238e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 6.010964951934238e-18, + "contraction_score": 7.246029660718938e-19, + "selection_score": 7.246029660718938e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 5, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 0 + }, + "gradient": -1.9825596577641908e-10, + "metric": 0.06399888994209699, + "normalized_signal": 6.1415796431607e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 6.1415796431607e-19, + "contraction_score": 5.690902575820849e-19, + "selection_score": 5.690902575820849e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 6, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 1 + }, + "gradient": 2.993987713024358e-10, + "metric": 0.18019714238876744, + "normalized_signal": 4.974530842643289e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 0.0 + }, + "gradient_score": 4.974530842643289e-19, + "contraction_score": 4.3764998123801615e-19, + "selection_score": 4.3764998123801615e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 7, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 3 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 3 + }, + "gradient": -1.630796295291208e-10, + "metric": 0.06399889075476459, + "normalized_signal": 4.155535393394266e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 4.155535393394266e-19, + "contraction_score": 3.85059682495814e-19, + "selection_score": 3.85059682495814e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 8, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 0 + }, + "gradient": 5.305477452457441e-10, + "metric": 0.18884587273836909, + "normalized_signal": 1.4905324956390325e-18 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 1.4905324956390325e-18, + "contraction_score": 1.796790159322162e-19, + "selection_score": 1.796790159322162e-19, + "eligible": true, + "exclusion_reason": null, + "rank": 9, + "selected": false + }, + { + "operator": { + "kind": "rx", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rx", + "wire": 2 + }, + "gradient": 9.81935286863538e-11, + "metric": 0.10639069604422494, + "normalized_signal": 9.062793490681877e-20 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 48, + "delta_log_boundary": 0.0, + "delta_compile_proxy": 0.07142857142857142, + "delta_warm_proxy": 0.08695652173913043, + "delta_memory_relative": 0.0 + }, + "gradient_score": 9.062793490681877e-20, + "contraction_score": 8.397753968344069e-20, + "selection_score": 8.397753968344069e-20, + "eligible": true, + "exclusion_reason": null, + "rank": 10, + "selected": false + }, + { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "rzz", + "wire": 2 + }, + "gradient": 8.721152666581015e-11, + "metric": 0.1888458720299911, + "normalized_signal": 4.027543891525008e-20 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 4.027543891525008e-20, + "contraction_score": 4.85507780051965e-21, + "selection_score": 4.85507780051965e-21, + "eligible": true, + "exclusion_reason": null, + "rank": 11, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 2 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 2 + }, + "gradient": -2.0491470742456386e-09, + "metric": 0.25, + "normalized_signal": 1.679601492749066e-17 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 1.679601492749066e-17, + "contraction_score": 2.024706903461693e-18, + "selection_score": 2.024706903461693e-18, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 12, + "selected": false + }, + { + "operator": { + "kind": "yz", + "wire": 0 + }, + "signal": { + "operator": { + "kind": "yz", + "wire": 0 + }, + "gradient": 4.885152282696481e-10, + "metric": 0.25, + "normalized_signal": 9.545885130015672e-19 + }, + "cost": { + "boundary_before": 48, + "boundary_after": 192, + "delta_log_boundary": 1.3862943611198906, + "delta_compile_proxy": 0.14285714285714285, + "delta_warm_proxy": 0.13043478260869565, + "delta_memory_relative": 3.0 + }, + "gradient_score": 9.545885130015672e-19, + "contraction_score": 1.1507265030326225e-19, + "selection_score": 1.1507265030326225e-19, + "eligible": false, + "exclusion_reason": "fuses with a commuting prior gate", + "rank": 13, + "selected": false + } + ], + "cache_key": "7d5c347975515b1d46087b7fbb3f45e941de4fde610bc4cd3c244b2586378b7d", + "compile_seconds": 1.3491741250036284, + "screening_seconds": 0.5084232920053182, + "optimization_seconds": 0.007457749998138752, + "evaluations": 17, + "optimizer_steps": 13, + "optimizer_message": null, + "energy": -4.758770483093128, + "energy_error": 5.050271312256882e-11, + "boundary_dimension": 48 + } + ], + "evaluations": 94, + "compiled_structures": 4, + "compile_seconds": 3.621463791001588, + "screening_seconds": 2.5724740010045934, + "optimization_seconds": 0.5954683749951073, + "time_to_target_seconds": 6.864571124999202, + "total_seconds": 6.8747040840025875, + "peak_rss_bytes": 337756160, + "failure": null, + "skipped": false + } + ], + "derived": { + "ranking_policy": "converged only; synchronized time to target including all recompilation and screening", + "best_policy": "gradient-only", + "gradient_sequence": [ + "yz-0-1", + "yz-2-3", + "zy-1-2" + ], + "contraction_sequence": [ + "yz-0-1", + "yz-2-3", + "zy-1-2" + ], + "adaptive_sequences_equal": true, + "fixed_final_parameter_count": 14, + "gradient_final_parameter_count": 10, + "contraction_final_parameter_count": 10, + "fixed_final_error": 1.6972502070444762e-07, + "gradient_final_error": 5.050271312256882e-11, + "contraction_final_error": 5.050271312256882e-11, + "gradient_max_boundary": 48, + "contraction_max_boundary": 48 + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-findings.md new file mode 100644 index 000000000..b2efd1983 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-findings.md @@ -0,0 +1,184 @@ +# VQETape Blocked Spatial-Transfer Findings + +## Experimental contract + +This phase replaces the repeated one-site spatial transition with an exact +multi-site block: + +\[ +B_{q+1} += +F^{(b)} +\left( +B_q; +\theta_{qb},\ldots,\theta_{qb+b-1} +\right). +\] + +The incoming carry participates in the block contraction path, and the only +block output is the outgoing boundary. The exact boundary remains + +\[ +D=3\cdot4^L. +\] + +The search compared block widths one through four. For each width and path +strategy, first, repeated block, optional tail, and last paths were searched +once, serialized, and reused across default and rematerialized adjoints and +all applicable unroll values. The already negative segmented schedule was +retained for width one; blocked segmented execution is implemented and tested +but was not multiplied across the default search. + +Raw reports: + +- [eight-qubit report](vqetape-blocked-spatial-report-n8-d2.json) +- [twelve-qubit report](vqetape-blocked-spatial-report-n12-d2.json) + +Both experiments used `complex64`, a 2 GiB process-memory budget, five +synchronized warm calls, and a 100-call VQE horizon. Every candidate executed +in a fresh process. + +## Correctness + +All measured candidates were valid: + +| Workload | Total candidates | Spatial candidates | Valid | Maximum energy error | Maximum relative gradient error | +|---|---:|---:|---:|---:|---:| +| \(n=8,L=2\) | 60 | 57 | 60 | \(8.58\times10^{-6}\) | \(1.68\times10^{-6}\) | +| \(n=12,L=2\) | 72 | 69 | 72 | \(7.63\times10^{-6}\) | \(4.46\times10^{-6}\) | + +The errors remain within the configured complex64 tolerances. Unit tests also +cover every interior remainder, full energy and gradient equality with the +width-one program, rematerialized blocks, blocked segmented VJPs, rolled +control flow, and the unused padded RZZ gradient. + +## Best measured envelope by block width + +Different candidates may attain the compile, warm, and temporary-memory +columns. These tables describe the measured representation envelope rather +than one executable. + +### \(n=8,L=2\) + +| Block width | Spatial candidates | Best compile (s) | Best warm (µs) | Best compiler temp (B) | Best 100-call objective (s) | +|---:|---:|---:|---:|---:|---:| +| 1 | 21 | 1.873 | 596.17 | 11,656 | 1.949 | +| 2 | 18 | 2.415 | 562.96 | 14,480 | 2.472 | +| 3 | 12 | 3.341 | 642.00 | 19,160 | 3.432 | +| 4 | 6 | 2.681 | 565.42 | 27,224 | 2.737 | + +Width two reduced the within-run best spatial warm time by 5.6% relative to +width one. Its extra compile cost prevented it from winning the 100-call +objective. + +The horizon-selected candidate was width-one `auto-hq/default/u2`: + +| Compile (s) | Warm (µs) | Compiler temp (B) | RSS (MiB) | Logical tape (B) | 100-call cost (s) | +|---:|---:|---:|---:|---:|---:| +| 1.874 | 753.79 | 32,800 | 282.08 | 22,880 | 1.949 | + +The horizon-optimal global-MPO control cost 4.466 s, so the selected spatial +program retained a 2.29x compile-plus-100-call advantage in this run. + +### \(n=12,L=2\) + +| Block width | Spatial candidates | Best compile (s) | Best warm (µs) | Best compiler temp (B) | Best 100-call objective (s) | +|---:|---:|---:|---:|---:|---:| +| 1 | 21 | 1.702 | 816.50 | 12,872 | 1.784 | +| 2 | 18 | 2.580 | 780.79 | 15,568 | 2.694 | +| 3 | 18 | 2.327 | 674.96 | 20,440 | 2.433 | +| 4 | 12 | 7.301 | 1,187.00 | 27,808 | 7.501 | + +Width three reduced the within-run best spatial warm time by 17.3% relative +to width one: + +\[ +\frac{816.50-674.96}{816.50}=17.3\%. +\] + +The best width-three warm executable was `auto-hq/default/u3`. It compiled in +5.411 s, ran in 674.96 microseconds, used 40,472 compiler temporary bytes, and +retained a 38,432-byte logical tape. It is a throughput candidate, not the +100-call winner. + +The horizon-selected candidate remained width-one `auto-hq/default/u1`: + +| Compile (s) | Warm (µs) | Compiler temp (B) | RSS (MiB) | Logical tape (B) | 100-call cost (s) | +|---:|---:|---:|---:|---:|---:| +| 1.702 | 817.25 | 42,208 | 259.27 | 35,936 | 1.784 | + +The horizon-optimal global-MPO control cost 19.652 s in the same run, so the +selected spatial program retained an 11.02x objective advantage. The absolute +global and spatial warm values differed noticeably from the earlier +three-repeat report; CPU scheduling and process noise therefore make +cross-run microsecond comparisons inappropriate. Block-width comparisons +above use candidates from the same fresh-process search. + +## Decision-gate audit + +| Gate | Result | Evidence | +|---|---|---| +| Exact multi-site energy and full gradient | Pass | 126/126 measured spatial candidates valid across both reports; structural tests also cover tails and complex program shapes | +| Rolled blocked execution | Pass | Width-two value-and-gradient StableHLO contains `while` | +| No full transfer-matrix output | Pass | Every block emits the \(D\)-element outgoing boundary; planner tests reject \(D^2\) output construction | +| Fair path comparison | Pass | Paths are serialized once per strategy and block width and reused across AD/unroll candidates | +| Warm improvement | Partial | 5.6% at \(n=8\), 17.3% at \(n=12\); the predeclared 20% target was not reached | +| 100-call default promotion | Reject | Width one remains the horizon-selected program on both workloads | +| Research-candidate retention | Pass | Width-two and width-three programs appear on measured Pareto fronts and provide lower warm time in the corresponding workload | + +## Interpretation + +The experiment supports three conclusions. + +First, true multi-site contraction is not equivalent to merely increasing +`scan.unroll`. It changes the local tensor network and can reduce warm +value-and-gradient time, with the benefit increasing from 5.6% to 17.3% +between the two audited chain lengths. + +Second, larger blocks expose a compile-versus-throughput trade-off. The path +that wins warm time is not the path that minimizes + +\[ +T_{\mathrm{compile}}+100T_{\mathrm{warm}}. +\] + +Forward-only path quality and block width are therefore insufficient +selection features. + +Third, width four is already beyond the useful CPU region for the tested +depth. Its local graph raises compile time and temporary memory without a +reliable throughput gain. Future searches should statically prune such +candidates rather than compile the full Cartesian product. + +## Decision + +Blocked execution is retained as an exact, user-selectable candidate axis, but +the default remains width one for the current 100-call CPU contract. + +The next phase advances to differentiation-aware contraction analysis. Its +immediate goals are: + +1. predict forward and reverse contraction work separately; +2. estimate saved residual liveness and tensor traffic; +3. rank block paths before fresh-process compilation; +4. search a separate explicit block VJP path; +5. determine whether the width-three throughput gain can be obtained with + lower compile and residual cost. + +## Regression evidence + +Before the measured runs, the complete repository suite passed: + +```text +246 passed, 6 skipped in 1279.25s (0:21:19) +``` + +The six skips are the parametrized cases where the requested block width is +larger than the number of interior sites. + +## Limitations + +The results use the local CPU JAX backend. Process RSS is noisy and is not a +GPU peak-memory measurement. The experiment covers one shallow, local, +one-dimensional TFIM ansatz. Exact boundary dimension remains exponential in +depth, and the results do not imply efficient generic VQE simulation. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-report-n12-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-report-n12-d2.json new file mode 100644 index 000000000..62f7d16c8 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-report-n12-d2.json @@ -0,0 +1,35789 @@ +{ + "request": { + "spec": { + "nqubits": 12, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.7019150419982907, + "first_execute_seconds": 0.003391500002180692, + "warm_seconds_median": 0.0008172499983629677, + "warm_seconds_mad": 5.116700049256906e-05, + "peak_rss_bytes": 271859712, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83102, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.7019150419982907, + "first_execute_seconds": 0.003391500002180692, + "warm_seconds_median": 0.0008172499983629677, + "warm_seconds_mad": 5.116700049256906e-05, + "peak_rss_bytes": 271859712, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83102, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.8344364580007095, + "first_execute_seconds": 0.055922791001648875, + "warm_seconds_median": 0.0008164999999280553, + "warm_seconds_mad": 6.812499850639142e-05, + "peak_rss_bytes": 238272512, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83290, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.581177915999433, + "first_execute_seconds": 0.004539708002994303, + "warm_seconds_median": 0.0074461670010350645, + "warm_seconds_mad": 0.0018810420042427722, + "peak_rss_bytes": 229081088, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83434, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 23720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 90, + "total_bytes": 4396, + "recomputable_bytes": 4124, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:reshape": 300, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6606188340010704, + "first_execute_seconds": 0.0029730409987678286, + "warm_seconds_median": 0.0008936669983086176, + "warm_seconds_mad": 4.166699727647938e-05, + "peak_rss_bytes": 255426560, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83770, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 15568 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.135626457999024, + "first_execute_seconds": 0.010091124997416046, + "warm_seconds_median": 0.000780791997385677, + "warm_seconds_mad": 1.9499995687510818e-05, + "peak_rss_bytes": 257671168, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83881, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 42328 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.411147958999209, + "first_execute_seconds": 0.003186333997291513, + "warm_seconds_median": 0.0006749580024916213, + "warm_seconds_mad": 2.0749001123476774e-05, + "peak_rss_bytes": 300548096, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84148, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38432, + "recomputable_bytes": 37552, + "bytes_by_category": { + "primitive:scan": 30528, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.390942541998811, + "first_execute_seconds": 0.0027043750014854595, + "warm_seconds_median": 0.0006894999969517812, + "warm_seconds_mad": 3.7957994209136814e-05, + "peak_rss_bytes": 364265472, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84285, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 45592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.488839667003049, + "first_execute_seconds": 0.006437416999688139, + "warm_seconds_median": 0.0013007499983359594, + "warm_seconds_mad": 2.7417001547291875e-05, + "peak_rss_bytes": 228507648, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85212, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.232640584003093, + "first_execute_seconds": 0.09703054199781036, + "warm_seconds_median": 0.006715040999552002, + "warm_seconds_mad": 0.004234916999848792, + "peak_rss_bytes": 194084864, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85587, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.940335832998244, + "first_execute_seconds": 0.016515333998540882, + "warm_seconds_median": 0.0033010000006470364, + "warm_seconds_mad": 0.0011595830001169816, + "peak_rss_bytes": 225787904, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 86444, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 18768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 20.281700999999885, + "first_execute_seconds": 0.00827558300079545, + "warm_seconds_median": 0.001059666999935871, + "warm_seconds_mad": 0.00012854200031142682, + "peak_rss_bytes": 232030208, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 87566, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 64728 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.206931542001257, + "first_execute_seconds": 0.010987875000864733, + "warm_seconds_median": 0.001539416000014171, + "warm_seconds_mad": 0.0002710819971980527, + "peak_rss_bytes": 205406208, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 88674, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 48864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38704, + "recomputable_bytes": 38304, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 992, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.012923665999551, + "first_execute_seconds": 0.004332874999818159, + "warm_seconds_median": 0.0010657499988155905, + "warm_seconds_mad": 2.550000135670416e-05, + "peak_rss_bytes": 214450176, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 89064, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 12872 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 6848, + "recomputable_bytes": 6256, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 928, + "constant": 448, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 15, + 72 + ], + [ + 3, + 25 + ], + [ + 7, + 28 + ], + [ + 9, + 29 + ], + [ + 2, + 21 + ], + [ + 18, + 70 + ], + [ + 0, + 18 + ], + [ + 14, + 64 + ], + [ + 10, + 59 + ], + [ + 7, + 56 + ], + [ + 4, + 17 + ], + [ + 9, + 55 + ], + [ + 5, + 16 + ], + [ + 8, + 52 + ], + [ + 1, + 10 + ], + [ + 7, + 49 + ], + [ + 3, + 10 + ], + [ + 2, + 8 + ], + [ + 0, + 98 + ], + [ + 0, + 5 + ], + [ + 5, + 93 + ], + [ + 9, + 20 + ], + [ + 69, + 81 + ], + [ + 26, + 75 + ], + [ + 14, + 24 + ], + [ + 2, + 34 + ], + [ + 56, + 67 + ], + [ + 41, + 52 + ], + [ + 0, + 81 + ], + [ + 61, + 70 + ], + [ + 49, + 58 + ], + [ + 1, + 32 + ], + [ + 28, + 65 + ], + [ + 39, + 48 + ], + [ + 33, + 69 + ], + [ + 20, + 55 + ], + [ + 0, + 28 + ], + [ + 8, + 17 + ], + [ + 23, + 89 + ], + [ + 6, + 14 + ], + [ + 26, + 60 + ], + [ + 28, + 78 + ], + [ + 17, + 67 + ], + [ + 11, + 16 + ], + [ + 35, + 65 + ], + [ + 6, + 12 + ], + [ + 31, + 38 + ], + [ + 14, + 73 + ], + [ + 10, + 13 + ], + [ + 33, + 64 + ], + [ + 3, + 53 + ], + [ + 58, + 64 + ], + [ + 19, + 56 + ], + [ + 2, + 7 + ], + [ + 9, + 33 + ], + [ + 23, + 56 + ], + [ + 25, + 50 + ], + [ + 22, + 25 + ], + [ + 15, + 21 + ], + [ + 2, + 39 + ], + [ + 12, + 42 + ], + [ + 12, + 33 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 6, + 49 + ], + [ + 6, + 61 + ], + [ + 2, + 4 + ], + [ + 11, + 13 + ], + [ + 5, + 56 + ], + [ + 4, + 5 + ], + [ + 5, + 7 + ], + [ + 10, + 25 + ], + [ + 0, + 17 + ], + [ + 9, + 24 + ], + [ + 15, + 51 + ], + [ + 9, + 13 + ], + [ + 2, + 8 + ], + [ + 17, + 36 + ], + [ + 7, + 36 + ], + [ + 7, + 9 + ], + [ + 18, + 26 + ], + [ + 7, + 23 + ], + [ + 32, + 35 + ], + [ + 20, + 26 + ], + [ + 25, + 31 + ], + [ + 29, + 39 + ], + [ + 1, + 26 + ], + [ + 1, + 38 + ], + [ + 17, + 29 + ], + [ + 22, + 26 + ], + [ + 6, + 36 + ], + [ + 0, + 35 + ], + [ + 27, + 34 + ], + [ + 15, + 32 + ], + [ + 28, + 30 + ], + [ + 14, + 24 + ], + [ + 8, + 26 + ], + [ + 8, + 28 + ], + [ + 13, + 15 + ], + [ + 20, + 22 + ], + [ + 17, + 25 + ], + [ + 9, + 24 + ], + [ + 20, + 24 + ], + [ + 1, + 23 + ], + [ + 12, + 22 + ], + [ + 6, + 11 + ], + [ + 14, + 19 + ], + [ + 11, + 18 + ], + [ + 6, + 17 + ], + [ + 9, + 17 + ], + [ + 0, + 16 + ], + [ + 5, + 6 + ], + [ + 7, + 14 + ], + [ + 6, + 12 + ], + [ + 4, + 12 + ], + [ + 0, + 11 + ], + [ + 6, + 10 + ], + [ + 0, + 9 + ], + [ + 3, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 19.50796133300173, + "first_execute_seconds": 0.025922166998498142, + "warm_seconds_median": 0.001439625000784872, + "warm_seconds_mad": 0.0002100000019709114, + "peak_rss_bytes": 312754176, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.059465033990634e-06, + "valid": true, + "failure": null, + "worker_pid": 82840, + "parent_pid": 81784, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258734822273254, + 0.07293030619621277, + -0.047371216118335724, + -0.058920152485370636, + -0.13894057273864746, + -0.17407840490341187, + -0.28565096855163574, + -0.044431544840335846, + -0.28800156712532043, + -0.3262190818786621, + -0.3871098756790161, + 0.0 + ], + [ + -0.01131313107907772, + 0.0018171746050938964, + -0.052702609449625015, + -0.07646041363477707, + 0.04319680482149124, + 0.019278671592473984, + -0.15224727988243103, + -0.20906439423561096, + -0.022942934185266495, + 0.19368669390678406, + 0.1835220605134964, + 0.05922198295593262 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275571674108505, + -0.24816825985908508, + -0.18776395916938782, + -0.22483710944652557, + -0.16548442840576172, + -0.15414521098136902, + 0.04240677133202553, + -0.16628675162792206, + -0.25748711824417114, + -0.4156583547592163, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800734370946884, + 0.012208323925733566, + 0.08998120576143265, + 0.17996220290660858, + 0.04348653182387352, + -0.07909029722213745, + -0.09540710598230362, + 0.013694439083337784, + 0.15580445528030396, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 45768 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 36248, + "contractions_per_energy": 1, + "estimated_energy_flops": 36248, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 192, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 1536, + "residual_profile": { + "residual_count": 698, + "total_bytes": 46192, + "recomputable_bytes": 44896, + "bytes_by_category": { + "primitive:dot_general": 32384, + "jitted:_diag": 6688, + "primitive:conj": 2240, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 608, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 48 + ], + [ + 2, + 47 + ], + [ + 2, + 46 + ], + [ + 2, + 45 + ], + [ + 2, + 44 + ], + [ + 2, + 43 + ], + [ + 2, + 42 + ], + [ + 2, + 41 + ], + [ + 2, + 40 + ], + [ + 2, + 39 + ], + [ + 2, + 38 + ], + [ + 0, + 84 + ], + [ + 0, + 93 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 13, + 25 + ], + [ + 14, + 24 + ], + [ + 14, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 22 + ], + [ + 1, + 44 + ], + [ + 1, + 43 + ], + [ + 1, + 42 + ], + [ + 1, + 41 + ], + [ + 1, + 40 + ], + [ + 1, + 39 + ], + [ + 1, + 38 + ], + [ + 1, + 37 + ], + [ + 1, + 36 + ], + [ + 1, + 35 + ], + [ + 0, + 34 + ], + [ + 0, + 43 + ], + [ + 18, + 42 + ], + [ + 19, + 54 + ], + [ + 18, + 40 + ], + [ + 28, + 52 + ], + [ + 28, + 48 + ], + [ + 36, + 47 + ], + [ + 27, + 49 + ], + [ + 44, + 48 + ], + [ + 0, + 44 + ], + [ + 17, + 46 + ], + [ + 43, + 45 + ], + [ + 8, + 42 + ], + [ + 32, + 43 + ], + [ + 41, + 42 + ], + [ + 8, + 32 + ], + [ + 8, + 31 + ], + [ + 38, + 39 + ], + [ + 8, + 30 + ], + [ + 8, + 29 + ], + [ + 35, + 36 + ], + [ + 8, + 28 + ], + [ + 8, + 27 + ], + [ + 32, + 33 + ], + [ + 8, + 26 + ], + [ + 8, + 25 + ], + [ + 29, + 30 + ], + [ + 7, + 24 + ], + [ + 14, + 28 + ], + [ + 21, + 27 + ], + [ + 25, + 26 + ], + [ + 20, + 25 + ], + [ + 13, + 24 + ], + [ + 6, + 23 + ], + [ + 0, + 18 + ], + [ + 5, + 21 + ], + [ + 10, + 20 + ], + [ + 15, + 19 + ], + [ + 10, + 18 + ], + [ + 5, + 17 + ], + [ + 0, + 16 + ], + [ + 3, + 14 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 10, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 36.83298070800083, + "first_execute_seconds": 0.008589249999204185, + "warm_seconds_median": 0.0018607500023790635, + "warm_seconds_mad": 0.00021066700355731882, + "peak_rss_bytes": 230014976, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.119870555964857e-06, + "valid": true, + "failure": null, + "worker_pid": 82101, + "parent_pid": 81784, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293009757995605, + -0.04737122356891632, + -0.058920204639434814, + -0.13894060254096985, + -0.17407837510108948, + -0.2856507897377014, + -0.04443167895078659, + -0.28800150752067566, + -0.3262191414833069, + -0.3871099054813385, + 0.0 + ], + [ + -0.011313307099044323, + 0.0018171895062550902, + -0.05270252004265785, + -0.07646030932664871, + 0.04319678992033005, + 0.019278597086668015, + -0.15224720537662506, + -0.2090645432472229, + -0.02294285222887993, + 0.1936868131160736, + 0.18352192640304565, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275581359863281, + -0.24816825985908508, + -0.18776383996009827, + -0.224837064743042, + -0.16548442840576172, + -0.15414515137672424, + 0.0424068309366703, + -0.16628672182559967, + -0.25748705863952637, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800739586353302, + 0.012208263389766216, + 0.08998117595911026, + 0.17996211349964142, + 0.04348641261458397, + -0.07909050583839417, + -0.09540712088346481, + 0.013694342225790024, + 0.15580447018146515, + 0.10954705625772476, + 0.039108406752347946 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 47688 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34576, + "contractions_per_energy": 1, + "estimated_energy_flops": 34576, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48848, + "recomputable_bytes": 47552, + "bytes_by_category": { + "primitive:dot_general": 35136, + "jitted:_diag": 6688, + "primitive:conj": 2368, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 11, + 34 + ], + [ + 5, + 27 + ], + [ + 8, + 29 + ], + [ + 14, + 68 + ], + [ + 4, + 23 + ], + [ + 10, + 62 + ], + [ + 4, + 21 + ], + [ + 11, + 61 + ], + [ + 15, + 64 + ], + [ + 11, + 59 + ], + [ + 1, + 14 + ], + [ + 9, + 55 + ], + [ + 6, + 52 + ], + [ + 9, + 53 + ], + [ + 8, + 51 + ], + [ + 3, + 11 + ], + [ + 2, + 9 + ], + [ + 3, + 9 + ], + [ + 4, + 43 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 38 + ], + [ + 44, + 55 + ], + [ + 57, + 69 + ], + [ + 0, + 90 + ], + [ + 20, + 31 + ], + [ + 60, + 71 + ], + [ + 17, + 27 + ], + [ + 0, + 84 + ], + [ + 27, + 68 + ], + [ + 55, + 65 + ], + [ + 73, + 94 + ], + [ + 58, + 66 + ], + [ + 2, + 79 + ], + [ + 28, + 64 + ], + [ + 37, + 70 + ], + [ + 28, + 38 + ], + [ + 47, + 55 + ], + [ + 30, + 66 + ], + [ + 38, + 46 + ], + [ + 10, + 55 + ], + [ + 8, + 64 + ], + [ + 7, + 70 + ], + [ + 45, + 51 + ], + [ + 29, + 56 + ], + [ + 19, + 75 + ], + [ + 6, + 58 + ], + [ + 29, + 60 + ], + [ + 17, + 42 + ], + [ + 18, + 61 + ], + [ + 26, + 32 + ], + [ + 23, + 65 + ], + [ + 22, + 49 + ], + [ + 31, + 70 + ], + [ + 5, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 7 + ], + [ + 2, + 46 + ], + [ + 24, + 29 + ], + [ + 16, + 35 + ], + [ + 8, + 13 + ], + [ + 22, + 39 + ], + [ + 13, + 16 + ], + [ + 1, + 4 + ], + [ + 7, + 56 + ], + [ + 8, + 43 + ], + [ + 0, + 52 + ], + [ + 6, + 30 + ], + [ + 13, + 16 + ], + [ + 5, + 56 + ], + [ + 0, + 4 + ], + [ + 9, + 29 + ], + [ + 11, + 15 + ], + [ + 12, + 14 + ], + [ + 3, + 19 + ], + [ + 17, + 47 + ], + [ + 22, + 23 + ], + [ + 14, + 49 + ], + [ + 20, + 29 + ], + [ + 10, + 23 + ], + [ + 10, + 16 + ], + [ + 10, + 18 + ], + [ + 11, + 26 + ], + [ + 14, + 17 + ], + [ + 10, + 20 + ], + [ + 7, + 41 + ], + [ + 29, + 32 + ], + [ + 10, + 11 + ], + [ + 18, + 39 + ], + [ + 7, + 15 + ], + [ + 3, + 35 + ], + [ + 27, + 36 + ], + [ + 3, + 35 + ], + [ + 0, + 25 + ], + [ + 31, + 33 + ], + [ + 25, + 32 + ], + [ + 9, + 26 + ], + [ + 3, + 30 + ], + [ + 2, + 23 + ], + [ + 12, + 26 + ], + [ + 5, + 27 + ], + [ + 15, + 18 + ], + [ + 10, + 16 + ], + [ + 19, + 22 + ], + [ + 10, + 14 + ], + [ + 1, + 19 + ], + [ + 2, + 17 + ], + [ + 5, + 18 + ], + [ + 4, + 15 + ], + [ + 0, + 9 + ], + [ + 9, + 10 + ], + [ + 2, + 3 + ], + [ + 1, + 13 + ], + [ + 2, + 12 + ], + [ + 7, + 13 + ], + [ + 1, + 12 + ], + [ + 4, + 11 + ], + [ + 2, + 10 + ], + [ + 8, + 9 + ], + [ + 1, + 8 + ], + [ + 2, + 4 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 33.090925000000425, + "first_execute_seconds": 0.008768374998908257, + "warm_seconds_median": 0.001008499999443302, + "warm_seconds_mad": 2.5000001187436283e-05, + "peak_rss_bytes": 253362176, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.097794656105778e-06, + "valid": true, + "failure": null, + "worker_pid": 82578, + "parent_pid": 81784, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293018698692322, + -0.047371260821819305, + -0.058920059353113174, + -0.13894058763980865, + -0.17407839000225067, + -0.28565096855163574, + -0.0444316491484642, + -0.28800156712532043, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313190683722496, + 0.001817316166125238, + -0.052702490240335464, + -0.0764603540301323, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.2090645134449005, + -0.022942915558815002, + 0.1936868131160736, + 0.18352191150188446, + 0.05922207981348038 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275569438934326, + -0.2481682300567627, + -0.1877637803554535, + -0.224837064743042, + -0.1654844433069229, + -0.15414516627788544, + 0.04240690916776657, + -0.16628678143024445, + -0.25748705863952637, + -0.4156583845615387, + 0.0 + ], + [ + -0.10177389532327652, + -0.09800738096237183, + 0.012208264321088791, + 0.08998105674982071, + 0.17996220290660858, + 0.043486323207616806, + -0.07909035682678223, + -0.09540718048810959, + 0.013694461435079575, + 0.15580448508262634, + 0.10954699665307999, + 0.03910834342241287 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 60232 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 43744, + "contractions_per_energy": 1, + "estimated_energy_flops": 43744, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 384, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 3072, + "residual_profile": { + "residual_count": 698, + "total_bytes": 51952, + "recomputable_bytes": 50656, + "bytes_by_category": { + "primitive:dot_general": 38176, + "jitted:_diag": 6688, + "primitive:conj": 2144, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 672, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.7019150419982907, + "first_execute_seconds": 0.003391500002180692, + "warm_seconds_median": 0.0008172499983629677, + "warm_seconds_mad": 5.116700049256906e-05, + "peak_rss_bytes": 271859712, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83102, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.9730521660021623, + "first_execute_seconds": 0.021015750000515254, + "warm_seconds_median": 0.0022454579993791413, + "warm_seconds_mad": 0.0004314580000936985, + "peak_rss_bytes": 242089984, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83149, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 45600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.172448707999138, + "first_execute_seconds": 0.017901917002745904, + "warm_seconds_median": 0.004221167000650894, + "warm_seconds_mad": 0.0030761670022911858, + "peak_rss_bytes": 293781504, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83214, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 54560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.8344364580007095, + "first_execute_seconds": 0.055922791001648875, + "warm_seconds_median": 0.0008164999999280553, + "warm_seconds_mad": 6.812499850639142e-05, + "peak_rss_bytes": 238272512, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83290, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.7629501670016907, + "first_execute_seconds": 0.013270916002511512, + "warm_seconds_median": 0.0011137080000480637, + "warm_seconds_mad": 8.175000039045699e-05, + "peak_rss_bytes": 255901696, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83355, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.8283642919996055, + "first_execute_seconds": 0.00544912500117789, + "warm_seconds_median": 0.0010053329970105551, + "warm_seconds_mad": 5.195799531065859e-05, + "peak_rss_bytes": 263716864, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83382, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 33320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 6960, + "recomputable_bytes": 6368, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.581177915999433, + "first_execute_seconds": 0.004539708002994303, + "warm_seconds_median": 0.0074461670010350645, + "warm_seconds_mad": 0.0018810420042427722, + "peak_rss_bytes": 229081088, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 83434, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 23720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 90, + "total_bytes": 4396, + "recomputable_bytes": 4124, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:reshape": 300, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.8244690840001567, + "first_execute_seconds": 0.0045982919982634485, + "warm_seconds_median": 0.0010872919992834795, + "warm_seconds_mad": 0.00020141599816270173, + "peak_rss_bytes": 337625088, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83497, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 50912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 39104, + "recomputable_bytes": 38576, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.571341041999403, + "first_execute_seconds": 0.010725250001996756, + "warm_seconds_median": 0.001322041996900225, + "warm_seconds_mad": 0.00026274900301359594, + "peak_rss_bytes": 274776064, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83533, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 61152 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 39104, + "recomputable_bytes": 38576, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.684233708001557, + "first_execute_seconds": 0.017053042000043206, + "warm_seconds_median": 0.002610250001453096, + "warm_seconds_mad": 0.0011462080037745181, + "peak_rss_bytes": 252018688, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83616, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 45832 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 39104, + "recomputable_bytes": 38576, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6606188340010704, + "first_execute_seconds": 0.0029730409987678286, + "warm_seconds_median": 0.0008936669983086176, + "warm_seconds_mad": 4.166699727647938e-05, + "peak_rss_bytes": 255426560, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83770, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 15568 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.164458374998503, + "first_execute_seconds": 0.003969290999521036, + "warm_seconds_median": 0.0009600000012142118, + "warm_seconds_mad": 5.76250022277236e-05, + "peak_rss_bytes": 280182784, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83809, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 29240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.135626457999024, + "first_execute_seconds": 0.010091124997416046, + "warm_seconds_median": 0.000780791997385677, + "warm_seconds_mad": 1.9499995687510818e-05, + "peak_rss_bytes": 257671168, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.984746746490997e-06, + "valid": true, + "failure": null, + "worker_pid": 83881, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 42328 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32804, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 5296, + "recomputable_bytes": 4448, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:reshape": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.039294417001656, + "first_execute_seconds": 0.03094825000152923, + "warm_seconds_median": 0.0016371249985240865, + "warm_seconds_mad": 0.0005158329986443277, + "peak_rss_bytes": 268550144, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 83973, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 54048 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38432, + "recomputable_bytes": 37552, + "bytes_by_category": { + "primitive:scan": 30528, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.346992624999984, + "first_execute_seconds": 0.003718874999321997, + "warm_seconds_median": 0.0007243750005727634, + "warm_seconds_mad": 4.8333000449929386e-05, + "peak_rss_bytes": 301531136, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84058, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 45696 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38432, + "recomputable_bytes": 37552, + "bytes_by_category": { + "primitive:scan": 30528, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.411147958999209, + "first_execute_seconds": 0.003186333997291513, + "warm_seconds_median": 0.0006749580024916213, + "warm_seconds_mad": 2.0749001123476774e-05, + "peak_rss_bytes": 300548096, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84148, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38432, + "recomputable_bytes": 37552, + "bytes_by_category": { + "primitive:scan": 30528, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.3270667920005508, + "first_execute_seconds": 0.0027196669980185106, + "warm_seconds_median": 0.0010545410004851874, + "warm_seconds_mad": 4.97069995617494e-05, + "peak_rss_bytes": 339591168, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84251, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 23000 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.390942541998811, + "first_execute_seconds": 0.0027043750014854595, + "warm_seconds_median": 0.0006894999969517812, + "warm_seconds_mad": 3.7957994209136814e-05, + "peak_rss_bytes": 364265472, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84285, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 45592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.562737374999415, + "first_execute_seconds": 0.0026801249987329356, + "warm_seconds_median": 0.0007212499986053444, + "warm_seconds_mad": 2.883300112443976e-05, + "peak_rss_bytes": 339820544, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.9326243197553485e-06, + "valid": true, + "failure": null, + "worker_pid": 84338, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293026149272919, + -0.047371216118335724, + -0.05892021209001541, + -0.1389407217502594, + -0.1740785539150238, + -0.2856511175632477, + -0.044431574642658234, + -0.28800180554389954, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172640120610595, + -0.05270246043801308, + -0.07646038383245468, + 0.04319671541452408, + 0.019278716295957565, + -0.15224722027778625, + -0.20906445384025574, + -0.02294286899268627, + 0.193686842918396, + 0.1835220605134964, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275573909282684, + -0.24816833436489105, + -0.1877639889717102, + -0.2248372733592987, + -0.16548460721969604, + -0.15414519608020782, + 0.04240688309073448, + -0.16628684103488922, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800729155540466, + 0.012208234518766403, + 0.08998117595911026, + 0.17996226251125336, + 0.043486472219228745, + -0.07909038662910461, + -0.09540719538927078, + 0.01369449868798256, + 0.15580452978610992, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 46744 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 33092, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 127, + "total_bytes": 5488, + "recomputable_bytes": 4064, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 216, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 10, + 11 + ], + [ + 37, + 38 + ], + [ + 2, + 9 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 30, + 31 + ], + [ + 24, + 25 + ], + [ + 34, + 35 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 11, + 38 + ], + [ + 21, + 23 + ], + [ + 24, + 25 + ], + [ + 18, + 42 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 14, + 15 + ], + [ + 26, + 37 + ], + [ + 8, + 13 + ], + [ + 10, + 11 + ], + [ + 12, + 14 + ], + [ + 15, + 27 + ], + [ + 27, + 29 + ], + [ + 5, + 24 + ], + [ + 7, + 8 + ], + [ + 22, + 27 + ], + [ + 5, + 15 + ], + [ + 0, + 13 + ], + [ + 2, + 10 + ], + [ + 11, + 13 + ], + [ + 0, + 1 + ], + [ + 22, + 23 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 2, + 12 + ], + [ + 1, + 6 + ], + [ + 9, + 13 + ], + [ + 2, + 8 + ], + [ + 0, + 8 + ], + [ + 7, + 11 + ], + [ + 4, + 8 + ], + [ + 2, + 8 + ], + [ + 6, + 13 + ], + [ + 7, + 8 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 4, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 11, + 12 + ], + [ + 8, + 13 + ], + [ + 19, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 5 + ], + [ + 14, + 15 + ], + [ + 10, + 14 + ], + [ + 7, + 22 + ], + [ + 10, + 11 + ], + [ + 1, + 3 + ], + [ + 15, + 19 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 8, + 14 + ], + [ + 1, + 4 + ], + [ + 12, + 14 + ], + [ + 0, + 13 + ], + [ + 2, + 9 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.676354666000407, + "first_execute_seconds": 0.017990791002375772, + "warm_seconds_median": 0.001495874999818625, + "warm_seconds_mad": 0.00023187500119092874, + "peak_rss_bytes": 295878656, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.104933998637738e-06, + "valid": true, + "failure": null, + "worker_pid": 84433, + "parent_pid": 81784, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892026051878929, + -0.13894060254096985, + -0.17407847940921783, + -0.28565090894699097, + -0.044431574642658234, + -0.2880017161369324, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646038383245468, + 0.04319668561220169, + 0.01927870884537697, + -0.15224726498126984, + -0.20906424522399902, + -0.0229429230093956, + 0.1936868131160736, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.187763974070549, + -0.22483713924884796, + -0.1654844731092453, + -0.15414518117904663, + 0.042406920343637466, + -0.16628678143024445, + -0.2574872076511383, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800741821527481, + 0.012208234518766403, + 0.0899810865521431, + 0.17996229231357574, + 0.043486472219228745, + -0.07909038662910461, + -0.0954071506857872, + 0.013694453984498978, + 0.15580451488494873, + 0.10954708606004715, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 58912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14720, + "bulk_block_path_flops": 14720, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 36660, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 385, + "total_bytes": 42496, + "recomputable_bytes": 41264, + "bytes_by_category": { + "primitive:scan": 30208, + "primitive:dot_general": 6880, + "primitive:stack": 960, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 10, + 11 + ], + [ + 37, + 38 + ], + [ + 2, + 9 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 30, + 31 + ], + [ + 24, + 25 + ], + [ + 34, + 35 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 11, + 38 + ], + [ + 21, + 23 + ], + [ + 24, + 25 + ], + [ + 18, + 42 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 14, + 15 + ], + [ + 26, + 37 + ], + [ + 8, + 13 + ], + [ + 10, + 11 + ], + [ + 12, + 14 + ], + [ + 15, + 27 + ], + [ + 27, + 29 + ], + [ + 5, + 24 + ], + [ + 7, + 8 + ], + [ + 22, + 27 + ], + [ + 5, + 15 + ], + [ + 0, + 13 + ], + [ + 2, + 10 + ], + [ + 11, + 13 + ], + [ + 0, + 1 + ], + [ + 22, + 23 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 2, + 12 + ], + [ + 1, + 6 + ], + [ + 9, + 13 + ], + [ + 2, + 8 + ], + [ + 0, + 8 + ], + [ + 7, + 11 + ], + [ + 4, + 8 + ], + [ + 2, + 8 + ], + [ + 6, + 13 + ], + [ + 7, + 8 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 4, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 11, + 12 + ], + [ + 8, + 13 + ], + [ + 19, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 5 + ], + [ + 14, + 15 + ], + [ + 10, + 14 + ], + [ + 7, + 22 + ], + [ + 10, + 11 + ], + [ + 1, + 3 + ], + [ + 15, + 19 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 8, + 14 + ], + [ + 1, + 4 + ], + [ + 12, + 14 + ], + [ + 0, + 13 + ], + [ + 2, + 9 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.026134874999116, + "first_execute_seconds": 0.03181808400040609, + "warm_seconds_median": 0.0019188749975000974, + "warm_seconds_mad": 0.00029437499688356183, + "peak_rss_bytes": 288882688, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.104933998637738e-06, + "valid": true, + "failure": null, + "worker_pid": 84532, + "parent_pid": 81784, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892026051878929, + -0.13894060254096985, + -0.17407847940921783, + -0.28565090894699097, + -0.044431574642658234, + -0.2880017161369324, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646038383245468, + 0.04319668561220169, + 0.01927870884537697, + -0.15224726498126984, + -0.20906424522399902, + -0.0229429230093956, + 0.1936868131160736, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.187763974070549, + -0.22483713924884796, + -0.1654844731092453, + -0.15414518117904663, + 0.042406920343637466, + -0.16628678143024445, + -0.2574872076511383, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800741821527481, + 0.012208234518766403, + 0.0899810865521431, + 0.17996229231357574, + 0.043486472219228745, + -0.07909038662910461, + -0.0954071506857872, + 0.013694453984498978, + 0.15580451488494873, + 0.10954708606004715, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14720, + "bulk_block_path_flops": 14720, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 36660, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 385, + "total_bytes": 42496, + "recomputable_bytes": 41264, + "bytes_by_category": { + "primitive:scan": 30208, + "primitive:dot_general": 6880, + "primitive:stack": 960, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 10, + 11 + ], + [ + 37, + 38 + ], + [ + 2, + 9 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 30, + 31 + ], + [ + 24, + 25 + ], + [ + 34, + 35 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 11, + 38 + ], + [ + 21, + 23 + ], + [ + 24, + 25 + ], + [ + 18, + 42 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 14, + 15 + ], + [ + 26, + 37 + ], + [ + 8, + 13 + ], + [ + 10, + 11 + ], + [ + 12, + 14 + ], + [ + 15, + 27 + ], + [ + 27, + 29 + ], + [ + 5, + 24 + ], + [ + 7, + 8 + ], + [ + 22, + 27 + ], + [ + 5, + 15 + ], + [ + 0, + 13 + ], + [ + 2, + 10 + ], + [ + 11, + 13 + ], + [ + 0, + 1 + ], + [ + 22, + 23 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 2, + 12 + ], + [ + 1, + 6 + ], + [ + 9, + 13 + ], + [ + 2, + 8 + ], + [ + 0, + 8 + ], + [ + 7, + 11 + ], + [ + 4, + 8 + ], + [ + 2, + 8 + ], + [ + 6, + 13 + ], + [ + 7, + 8 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 4, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 11, + 12 + ], + [ + 8, + 13 + ], + [ + 19, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 5 + ], + [ + 14, + 15 + ], + [ + 10, + 14 + ], + [ + 7, + 22 + ], + [ + 10, + 11 + ], + [ + 1, + 3 + ], + [ + 15, + 19 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 8, + 14 + ], + [ + 1, + 4 + ], + [ + 12, + 14 + ], + [ + 0, + 13 + ], + [ + 2, + 9 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.2195153749999, + "first_execute_seconds": 0.008688334000908071, + "warm_seconds_median": 0.001477875001000939, + "warm_seconds_mad": 0.00035687499985215254, + "peak_rss_bytes": 253558784, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.104933998637738e-06, + "valid": true, + "failure": null, + "worker_pid": 84708, + "parent_pid": 81784, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892026051878929, + -0.13894060254096985, + -0.17407847940921783, + -0.28565090894699097, + -0.044431574642658234, + -0.2880017161369324, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646038383245468, + 0.04319668561220169, + 0.01927870884537697, + -0.15224726498126984, + -0.20906424522399902, + -0.0229429230093956, + 0.1936868131160736, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.187763974070549, + -0.22483713924884796, + -0.1654844731092453, + -0.15414518117904663, + 0.042406920343637466, + -0.16628678143024445, + -0.2574872076511383, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800741821527481, + 0.012208234518766403, + 0.0899810865521431, + 0.17996229231357574, + 0.043486472219228745, + -0.07909038662910461, + -0.0954071506857872, + 0.013694453984498978, + 0.15580451488494873, + 0.10954708606004715, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 27808 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14720, + "bulk_block_path_flops": 14720, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 36660, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5616, + "recomputable_bytes": 3680, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 192, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 10, + 11 + ], + [ + 37, + 38 + ], + [ + 2, + 9 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 30, + 31 + ], + [ + 24, + 25 + ], + [ + 34, + 35 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 11, + 38 + ], + [ + 21, + 23 + ], + [ + 24, + 25 + ], + [ + 18, + 42 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 14, + 15 + ], + [ + 26, + 37 + ], + [ + 8, + 13 + ], + [ + 10, + 11 + ], + [ + 12, + 14 + ], + [ + 15, + 27 + ], + [ + 27, + 29 + ], + [ + 5, + 24 + ], + [ + 7, + 8 + ], + [ + 22, + 27 + ], + [ + 5, + 15 + ], + [ + 0, + 13 + ], + [ + 2, + 10 + ], + [ + 11, + 13 + ], + [ + 0, + 1 + ], + [ + 22, + 23 + ], + [ + 3, + 5 + ], + [ + 3, + 8 + ], + [ + 2, + 12 + ], + [ + 1, + 6 + ], + [ + 9, + 13 + ], + [ + 2, + 8 + ], + [ + 0, + 8 + ], + [ + 7, + 11 + ], + [ + 4, + 8 + ], + [ + 2, + 8 + ], + [ + 6, + 13 + ], + [ + 7, + 8 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 4, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 11, + 12 + ], + [ + 8, + 13 + ], + [ + 19, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 5 + ], + [ + 14, + 15 + ], + [ + 10, + 14 + ], + [ + 7, + 22 + ], + [ + 10, + 11 + ], + [ + 1, + 3 + ], + [ + 15, + 19 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 8, + 14 + ], + [ + 1, + 4 + ], + [ + 12, + 14 + ], + [ + 0, + 13 + ], + [ + 2, + 9 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 24.951613582998107, + "first_execute_seconds": 0.028087291000701953, + "warm_seconds_median": 0.007428791999700479, + "warm_seconds_mad": 0.0014318329995148815, + "peak_rss_bytes": 228114432, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.104933998637738e-06, + "valid": true, + "failure": null, + "worker_pid": 84854, + "parent_pid": 81784, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737112671136856, + -0.05892026051878929, + -0.13894060254096985, + -0.17407847940921783, + -0.28565090894699097, + -0.044431574642658234, + -0.2880017161369324, + -0.3262191414833069, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646038383245468, + 0.04319668561220169, + 0.01927870884537697, + -0.15224726498126984, + -0.20906424522399902, + -0.0229429230093956, + 0.1936868131160736, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275571674108505, + -0.24816837906837463, + -0.187763974070549, + -0.22483713924884796, + -0.1654844731092453, + -0.15414518117904663, + 0.042406920343637466, + -0.16628678143024445, + -0.2574872076511383, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800741821527481, + 0.012208234518766403, + 0.0899810865521431, + 0.17996229231357574, + 0.043486472219228745, + -0.07909038662910461, + -0.0954071506857872, + 0.013694453984498978, + 0.15580451488494873, + 0.10954708606004715, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 49688 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14720, + "bulk_block_path_flops": 14720, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 36660, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5616, + "recomputable_bytes": 3680, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:reshape": 192, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.488839667003049, + "first_execute_seconds": 0.006437416999688139, + "warm_seconds_median": 0.0013007499983359594, + "warm_seconds_mad": 2.7417001547291875e-05, + "peak_rss_bytes": 228507648, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85212, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.779328417000215, + "first_execute_seconds": 0.006574125000042841, + "warm_seconds_median": 0.0016002919983293395, + "warm_seconds_mad": 0.0005556249998335261, + "peak_rss_bytes": 234536960, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85317, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 36960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.723524042001372, + "first_execute_seconds": 0.018233292001241352, + "warm_seconds_median": 0.003099916997598484, + "warm_seconds_mad": 0.00150891699740896, + "peak_rss_bytes": 236584960, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85401, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 43744 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.68099487499785, + "first_execute_seconds": 0.0054826670020702295, + "warm_seconds_median": 0.0014169579990266357, + "warm_seconds_mad": 0.00021087499771965668, + "peak_rss_bytes": 235880448, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85539, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 13640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.232640584003093, + "first_execute_seconds": 0.09703054199781036, + "warm_seconds_median": 0.006715040999552002, + "warm_seconds_mad": 0.004234916999848792, + "peak_rss_bytes": 194084864, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85587, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.188142709001113, + "first_execute_seconds": 0.031204999999317806, + "warm_seconds_median": 0.010315374998754123, + "warm_seconds_mad": 0.0017651250018388964, + "peak_rss_bytes": 245121024, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85650, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 31400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 7488, + "recomputable_bytes": 6896, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.542263833998732, + "first_execute_seconds": 0.04184404199986602, + "warm_seconds_median": 0.0032385000013164245, + "warm_seconds_mad": 0.0004951250011799857, + "peak_rss_bytes": 235945984, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 85802, + "parent_pid": 81784, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 20840 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4924, + "recomputable_bytes": 4652, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "primitive:stack": 320, + "primitive:reshape": 300, + "primitive:conj": 240, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.700821333000931, + "first_execute_seconds": 0.12128295799993793, + "warm_seconds_median": 0.003879750001942739, + "warm_seconds_mad": 0.0023541250011476222, + "peak_rss_bytes": 238665728, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 85881, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 48864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 13.405751833000977, + "first_execute_seconds": 0.013579125003161607, + "warm_seconds_median": 0.0018835410010069609, + "warm_seconds_mad": 0.00033645800067461096, + "peak_rss_bytes": 240795648, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 85937, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 58528 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 27.11964149999767, + "first_execute_seconds": 0.041837875000055647, + "warm_seconds_median": 0.002728416999161709, + "warm_seconds_mad": 0.0009102500007429626, + "peak_rss_bytes": 227475456, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 86109, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43984 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.940335832998244, + "first_execute_seconds": 0.016515333998540882, + "warm_seconds_median": 0.0033010000006470364, + "warm_seconds_mad": 0.0011595830001169816, + "peak_rss_bytes": 225787904, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 86444, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 18768 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.175637708998693, + "first_execute_seconds": 0.024538583998946706, + "warm_seconds_median": 0.0021887499970034696, + "warm_seconds_mad": 0.0005964159972791094, + "peak_rss_bytes": 243056640, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 86519, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 36920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 25.64461354100058, + "first_execute_seconds": 0.03723520899802679, + "warm_seconds_median": 0.007613624999066815, + "warm_seconds_mad": 0.006424499999411637, + "peak_rss_bytes": 228409344, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 86651, + "parent_pid": 81784, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 43352 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5824, + "recomputable_bytes": 4976, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1920, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.656436958997801, + "first_execute_seconds": 0.011804416997620137, + "warm_seconds_median": 0.0009952079999493435, + "warm_seconds_mad": 4.933300078846514e-05, + "peak_rss_bytes": 248315904, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 86832, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 70120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 21.224559375001263, + "first_execute_seconds": 0.019754083001316758, + "warm_seconds_median": 0.0019529589990270324, + "warm_seconds_mad": 0.0010766679988591932, + "peak_rss_bytes": 229523456, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 86926, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 62984 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.303603666998242, + "first_execute_seconds": 0.03232479200232774, + "warm_seconds_median": 0.007051083000988001, + "warm_seconds_mad": 0.0012847920006606728, + "peak_rss_bytes": 222445568, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 87140, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 58136 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.321487624998554, + "first_execute_seconds": 0.021789041998999892, + "warm_seconds_median": 0.0018599160030134954, + "warm_seconds_mad": 0.0006505830024252646, + "peak_rss_bytes": 224968704, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 87283, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 33240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 22.509084084002097, + "first_execute_seconds": 0.03602025000145659, + "warm_seconds_median": 0.008136583997838898, + "warm_seconds_mad": 0.004874625996308168, + "peak_rss_bytes": 222691328, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 87397, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 69336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 20.281700999999885, + "first_execute_seconds": 0.00827558300079545, + "warm_seconds_median": 0.001059666999935871, + "warm_seconds_mad": 0.00012854200031142682, + "peak_rss_bytes": 232030208, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 87566, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 64728 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 126, + "total_bytes": 6016, + "recomputable_bytes": 4592, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "constant": 1280, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 216, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.478684290999809, + "first_execute_seconds": 0.023697207998338854, + "warm_seconds_median": 0.002643207997607533, + "warm_seconds_mad": 0.0013027909990341868, + "peak_rss_bytes": 258670592, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 87735, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 110760 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 18.982520375000604, + "first_execute_seconds": 0.17025695800111862, + "warm_seconds_median": 0.004602458997396752, + "warm_seconds_mad": 0.0018492919953132514, + "peak_rss_bytes": 216072192, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 87882, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 95320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.638049875000434, + "first_execute_seconds": 0.027527832997293444, + "warm_seconds_median": 0.002472000000125263, + "warm_seconds_mad": 0.0008187090024875943, + "peak_rss_bytes": 230522880, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 88104, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 59552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 142, + "total_bytes": 6144, + "recomputable_bytes": 4208, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 1792, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 22.409820416000002, + "first_execute_seconds": 0.05675508399872342, + "warm_seconds_median": 0.0011870000016642734, + "warm_seconds_mad": 0.00020075000065844506, + "peak_rss_bytes": 231456768, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 88361, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 99160 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 142, + "total_bytes": 6144, + "recomputable_bytes": 4208, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 1792, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.181997375002538, + "first_execute_seconds": 0.005954999996902188, + "warm_seconds_median": 0.0010864169998967554, + "warm_seconds_mad": 9.737600339576602e-05, + "peak_rss_bytes": 224854016, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 88624, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 45280 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38704, + "recomputable_bytes": 38304, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 992, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.206931542001257, + "first_execute_seconds": 0.010987875000864733, + "warm_seconds_median": 0.001539416000014171, + "warm_seconds_mad": 0.0002710819971980527, + "peak_rss_bytes": 205406208, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 88674, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 788, + "temp_size_in_bytes": 48864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38704, + "recomputable_bytes": 38304, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 992, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 16.717766541001765, + "first_execute_seconds": 0.03678866699920036, + "warm_seconds_median": 0.0017970000008062925, + "warm_seconds_mad": 0.00032899999860092066, + "peak_rss_bytes": 210010112, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 88816, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 58272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38704, + "recomputable_bytes": 38304, + "bytes_by_category": { + "primitive:scan": 35904, + "primitive:dot_general": 992, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.012923665999551, + "first_execute_seconds": 0.004332874999818159, + "warm_seconds_median": 0.0010657499988155905, + "warm_seconds_mad": 2.550000135670416e-05, + "peak_rss_bytes": 214450176, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 89064, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 816, + "temp_size_in_bytes": 12872 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 6848, + "recomputable_bytes": 6256, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 928, + "constant": 448, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.558534374998999, + "first_execute_seconds": 0.006916958998772316, + "warm_seconds_median": 0.0016995000005408656, + "warm_seconds_mad": 0.0004938749989378266, + "peak_rss_bytes": 231292928, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 89113, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 17256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 6848, + "recomputable_bytes": 6256, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 928, + "constant": 448, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.004024292000395, + "first_execute_seconds": 0.011170792000484653, + "warm_seconds_median": 0.002477415997418575, + "warm_seconds_mad": 0.0002305409943801351, + "peak_rss_bytes": 290029568, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 89232, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 34152 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 6848, + "recomputable_bytes": 6256, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 928, + "constant": 448, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.191210291999596, + "first_execute_seconds": 0.00559354199867812, + "warm_seconds_median": 0.0018232090005767532, + "warm_seconds_mad": 7.48329985071905e-05, + "peak_rss_bytes": 297893888, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977424777774646e-06, + "valid": true, + "failure": null, + "worker_pid": 89329, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.13894063234329224, + -0.17407837510108948, + -0.28565093874931335, + -0.044431693851947784, + -0.28800168633461, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646045833826065, + 0.04319678992033005, + 0.019278686493635178, + -0.15224727988243103, + -0.20906448364257812, + -0.02294287644326687, + 0.19368693232536316, + 0.1835220605134964, + 0.059222012758255005 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816839396953583, + -0.18776392936706543, + -0.22483715415000916, + -0.1654844582080841, + -0.15414506196975708, + 0.04240685701370239, + -0.16628682613372803, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800740331411362, + 0.012208293192088604, + 0.08998117595911026, + 0.17996229231357574, + 0.04348650202155113, + -0.07909035682678223, + -0.0954071506857872, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 848, + "temp_size_in_bytes": 25000 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 31544, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4284, + "recomputable_bytes": 4012, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 928, + "primitive:stack": 320, + "primitive:reshape": 300, + "primitive:conj": 208, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5804657910011883, + "first_execute_seconds": 0.0037864170008106157, + "warm_seconds_median": 0.0011353330010024365, + "warm_seconds_mad": 0.0002336670040676836, + "peak_rss_bytes": 304889856, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977700615400307e-06, + "valid": true, + "failure": null, + "worker_pid": 89390, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 50912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 32824, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 175, + "total_bytes": 38992, + "recomputable_bytes": 38464, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1056, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.384070957999938, + "first_execute_seconds": 0.004593500001647044, + "warm_seconds_median": 0.001084874998923624, + "warm_seconds_mad": 0.00013537500126403756, + "peak_rss_bytes": 370343936, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977700615400307e-06, + "valid": true, + "failure": null, + "worker_pid": 89483, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 61088 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 32824, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 175, + "total_bytes": 38992, + "recomputable_bytes": 38464, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1056, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 19.79004625000016, + "first_execute_seconds": 0.07802558300318196, + "warm_seconds_median": 0.002153958001144929, + "warm_seconds_mad": 0.0005822080020152498, + "peak_rss_bytes": 224133120, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977700615400307e-06, + "valid": true, + "failure": null, + "worker_pid": 89584, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 45648 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 32824, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 175, + "total_bytes": 38992, + "recomputable_bytes": 38464, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1056, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.498439833001612, + "first_execute_seconds": 0.013430874998448417, + "warm_seconds_median": 0.0012179160003142897, + "warm_seconds_mad": 2.8340000426396728e-06, + "peak_rss_bytes": 236519424, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977700615400307e-06, + "valid": true, + "failure": null, + "worker_pid": 89863, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 836, + "temp_size_in_bytes": 15632 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 32824, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5184, + "recomputable_bytes": 4336, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 928, + "constant": 704, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.746410875002766, + "first_execute_seconds": 0.0071195410018844996, + "warm_seconds_median": 0.001086665997718228, + "warm_seconds_mad": 0.00010908400508924387, + "peak_rss_bytes": 269729792, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977700615400307e-06, + "valid": true, + "failure": null, + "worker_pid": 89921, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 29240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 32824, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5184, + "recomputable_bytes": 4336, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 928, + "constant": 704, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 4, + 29 + ], + [ + 19, + 20 + ], + [ + 1, + 3 + ], + [ + 11, + 12 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 14 + ], + [ + 3, + 4 + ], + [ + 2, + 17 + ], + [ + 15, + 18 + ], + [ + 5, + 6 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 4, + 8 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 6, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 18.509952791002434, + "first_execute_seconds": 0.008372583997697802, + "warm_seconds_median": 0.001346249999187421, + "warm_seconds_mad": 0.00019012499978998676, + "peak_rss_bytes": 225705984, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.977700615400307e-06, + "valid": true, + "failure": null, + "worker_pid": 90008, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302316904068, + -0.04737115651369095, + -0.058920182287693024, + -0.13894063234329224, + -0.17407840490341187, + -0.28565093874931335, + -0.04443160444498062, + -0.28800177574157715, + -0.3262191414833069, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603540301323, + 0.04319673031568527, + 0.01927870139479637, + -0.15224730968475342, + -0.20906448364257812, + -0.022942887619137764, + 0.193686842918396, + 0.183522030711174, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275571674108505, + -0.24816837906837463, + -0.18776388466358185, + -0.22483713924884796, + -0.16548442840576172, + -0.15414515137672424, + 0.042406875640153885, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540722519159317, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 40216 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 488, + "estimated_energy_flops": 32824, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 5184, + "recomputable_bytes": 4336, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 928, + "constant": 704, + "primitive:stack": 320, + "primitive:reshape": 240, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.680033584001649, + "first_execute_seconds": 0.005554750001465436, + "warm_seconds_median": 0.0009284160005336162, + "warm_seconds_mad": 3.108399687334895e-05, + "peak_rss_bytes": 258572288, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.862802792125394e-06, + "valid": true, + "failure": null, + "worker_pid": 90111, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293025404214859, + -0.04737123101949692, + -0.05892021209001541, + -0.1389407068490982, + -0.1740785539150238, + -0.28565120697021484, + -0.0444316640496254, + -0.28800180554389954, + -0.32621923089027405, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172565614804626, + -0.0527024008333683, + -0.07646038383245468, + 0.043196745216846466, + 0.019278738647699356, + -0.152247354388237, + -0.20906442403793335, + -0.02294292487204075, + 0.193686842918396, + 0.1835220754146576, + 0.059221990406513214 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275575399398804, + -0.24816831946372986, + -0.1877639889717102, + -0.2248372882604599, + -0.16548463702201843, + -0.154145285487175, + 0.042406871914863586, + -0.16628682613372803, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208234518766403, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909050583839417, + -0.09540724009275436, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 51552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 3152, + "last_path_flops": 488, + "estimated_energy_flops": 33320, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38368, + "recomputable_bytes": 37488, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3968, + "primitive:conj": 736, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 176, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 14.581936541999312, + "first_execute_seconds": 0.005778124999778811, + "warm_seconds_median": 0.0012385830013954546, + "warm_seconds_mad": 0.00026154200168093666, + "peak_rss_bytes": 321224704, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.862802792125394e-06, + "valid": true, + "failure": null, + "worker_pid": 90205, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293025404214859, + -0.04737123101949692, + -0.05892021209001541, + -0.1389407068490982, + -0.1740785539150238, + -0.28565120697021484, + -0.0444316640496254, + -0.28800180554389954, + -0.32621923089027405, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172565614804626, + -0.0527024008333683, + -0.07646038383245468, + 0.043196745216846466, + 0.019278738647699356, + -0.152247354388237, + -0.20906442403793335, + -0.02294292487204075, + 0.193686842918396, + 0.1835220754146576, + 0.059221990406513214 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275575399398804, + -0.24816831946372986, + -0.1877639889717102, + -0.2248372882604599, + -0.16548463702201843, + -0.154145285487175, + 0.042406871914863586, + -0.16628682613372803, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208234518766403, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909050583839417, + -0.09540724009275436, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 44744 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 3152, + "last_path_flops": 488, + "estimated_energy_flops": 33320, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38368, + "recomputable_bytes": 37488, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3968, + "primitive:conj": 736, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 176, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.64888533300109, + "first_execute_seconds": 0.009113292002439266, + "warm_seconds_median": 0.0008376250007131603, + "warm_seconds_mad": 0.00010908300100709312, + "peak_rss_bytes": 271466496, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.862802792125394e-06, + "valid": true, + "failure": null, + "worker_pid": 90420, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293025404214859, + -0.04737123101949692, + -0.05892021209001541, + -0.1389407068490982, + -0.1740785539150238, + -0.28565120697021484, + -0.0444316640496254, + -0.28800180554389954, + -0.32621923089027405, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172565614804626, + -0.0527024008333683, + -0.07646038383245468, + 0.043196745216846466, + 0.019278738647699356, + -0.152247354388237, + -0.20906442403793335, + -0.02294292487204075, + 0.193686842918396, + 0.1835220754146576, + 0.059221990406513214 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275575399398804, + -0.24816831946372986, + -0.1877639889717102, + -0.2248372882604599, + -0.16548463702201843, + -0.154145285487175, + 0.042406871914863586, + -0.16628682613372803, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208234518766403, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909050583839417, + -0.09540724009275436, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 40216 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 3152, + "last_path_flops": 488, + "estimated_energy_flops": 33320, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 281, + "total_bytes": 38368, + "recomputable_bytes": 37488, + "bytes_by_category": { + "primitive:scan": 30144, + "primitive:dot_general": 3968, + "primitive:conj": 736, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 176, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.7231453330023214, + "first_execute_seconds": 0.003475083998637274, + "warm_seconds_median": 0.0010693750009522773, + "warm_seconds_mad": 2.7541002054931596e-05, + "peak_rss_bytes": 359727104, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.862802792125394e-06, + "valid": true, + "failure": null, + "worker_pid": 90604, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293025404214859, + -0.04737123101949692, + -0.05892021209001541, + -0.1389407068490982, + -0.1740785539150238, + -0.28565120697021484, + -0.0444316640496254, + -0.28800180554389954, + -0.32621923089027405, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172565614804626, + -0.0527024008333683, + -0.07646038383245468, + 0.043196745216846466, + 0.019278738647699356, + -0.152247354388237, + -0.20906442403793335, + -0.02294292487204075, + 0.193686842918396, + 0.1835220754146576, + 0.059221990406513214 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275575399398804, + -0.24816831946372986, + -0.1877639889717102, + -0.2248372882604599, + -0.16548463702201843, + -0.154145285487175, + 0.042406871914863586, + -0.16628682613372803, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208234518766403, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909050583839417, + -0.09540724009275436, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 20440 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 3152, + "last_path_flops": 488, + "estimated_energy_flops": 33320, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 126, + "total_bytes": 5376, + "recomputable_bytes": 3952, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 928, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:reshape": 216, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.966002707998996, + "first_execute_seconds": 0.004959249999956228, + "warm_seconds_median": 0.001091958001779858, + "warm_seconds_mad": 3.133300197077915e-05, + "peak_rss_bytes": 317243392, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.862802792125394e-06, + "valid": true, + "failure": null, + "worker_pid": 90711, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293025404214859, + -0.04737123101949692, + -0.05892021209001541, + -0.1389407068490982, + -0.1740785539150238, + -0.28565120697021484, + -0.0444316640496254, + -0.28800180554389954, + -0.32621923089027405, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172565614804626, + -0.0527024008333683, + -0.07646038383245468, + 0.043196745216846466, + 0.019278738647699356, + -0.152247354388237, + -0.20906442403793335, + -0.02294292487204075, + 0.193686842918396, + 0.1835220754146576, + 0.059221990406513214 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275575399398804, + -0.24816831946372986, + -0.1877639889717102, + -0.2248372882604599, + -0.16548463702201843, + -0.154145285487175, + 0.042406871914863586, + -0.16628682613372803, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208234518766403, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909050583839417, + -0.09540724009275436, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 44992 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 3152, + "last_path_flops": 488, + "estimated_energy_flops": 33320, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 126, + "total_bytes": 5376, + "recomputable_bytes": 3952, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 928, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:reshape": 216, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 30, + 37 + ], + [ + 2, + 9 + ], + [ + 16, + 17 + ], + [ + 6, + 7 + ], + [ + 12, + 13 + ], + [ + 24, + 25 + ], + [ + 1, + 2 + ], + [ + 8, + 9 + ], + [ + 0, + 30 + ], + [ + 33, + 35 + ], + [ + 21, + 22 + ], + [ + 22, + 23 + ], + [ + 20, + 22 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 18, + 29 + ], + [ + 4, + 5 + ], + [ + 11, + 12 + ], + [ + 0, + 16 + ], + [ + 7, + 22 + ], + [ + 12, + 22 + ], + [ + 5, + 6 + ], + [ + 9, + 14 + ], + [ + 0, + 17 + ], + [ + 1, + 15 + ], + [ + 3, + 14 + ], + [ + 2, + 14 + ], + [ + 0, + 14 + ], + [ + 7, + 13 + ], + [ + 14, + 15 + ], + [ + 2, + 5 + ], + [ + 8, + 13 + ], + [ + 5, + 8 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 2, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.31389012499858, + "first_execute_seconds": 0.015497415999561781, + "warm_seconds_median": 0.0018114999984391034, + "warm_seconds_mad": 0.000130291999084875, + "peak_rss_bytes": 330235904, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.862802792125394e-06, + "valid": true, + "failure": null, + "worker_pid": 90861, + "parent_pid": 81784, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293025404214859, + -0.04737123101949692, + -0.05892021209001541, + -0.1389407068490982, + -0.1740785539150238, + -0.28565120697021484, + -0.0444316640496254, + -0.28800180554389954, + -0.32621923089027405, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172565614804626, + -0.0527024008333683, + -0.07646038383245468, + 0.043196745216846466, + 0.019278738647699356, + -0.152247354388237, + -0.20906442403793335, + -0.02294292487204075, + 0.193686842918396, + 0.1835220754146576, + 0.059221990406513214 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275575399398804, + -0.24816831946372986, + -0.1877639889717102, + -0.2248372882604599, + -0.16548463702201843, + -0.154145285487175, + 0.042406871914863586, + -0.16628682613372803, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208234518766403, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909050583839417, + -0.09540724009275436, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 45784 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 496, + "bulk_path_flops": 9728, + "bulk_block_path_flops": 9728, + "tail_path_flops": 3152, + "last_path_flops": 488, + "estimated_energy_flops": 33320, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 126, + "total_bytes": 5376, + "recomputable_bytes": 3952, + "bytes_by_category": { + "primitive:scan": 1536, + "constant": 1280, + "primitive:dot_general": 928, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:reshape": 216, + "primitive:conj": 208, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 17, + 18 + ], + [ + 15, + 20 + ], + [ + 41, + 48 + ], + [ + 25, + 27 + ], + [ + 1, + 7 + ], + [ + 47, + 48 + ], + [ + 23, + 29 + ], + [ + 12, + 13 + ], + [ + 15, + 45 + ], + [ + 48, + 50 + ], + [ + 0, + 46 + ], + [ + 30, + 31 + ], + [ + 5, + 6 + ], + [ + 7, + 8 + ], + [ + 31, + 32 + ], + [ + 23, + 24 + ], + [ + 9, + 14 + ], + [ + 23, + 24 + ], + [ + 28, + 30 + ], + [ + 4, + 35 + ], + [ + 18, + 19 + ], + [ + 16, + 18 + ], + [ + 0, + 22 + ], + [ + 23, + 36 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 0, + 1 + ], + [ + 13, + 14 + ], + [ + 18, + 29 + ], + [ + 7, + 8 + ], + [ + 5, + 14 + ], + [ + 6, + 7 + ], + [ + 8, + 9 + ], + [ + 3, + 4 + ], + [ + 5, + 11 + ], + [ + 1, + 2 + ], + [ + 8, + 16 + ], + [ + 0, + 13 + ], + [ + 5, + 8 + ], + [ + 1, + 9 + ], + [ + 0, + 9 + ], + [ + 2, + 8 + ], + [ + 6, + 10 + ], + [ + 5, + 11 + ], + [ + 1, + 15 + ], + [ + 2, + 14 + ], + [ + 6, + 13 + ], + [ + 5, + 6 + ], + [ + 3, + 11 + ], + [ + 7, + 9 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 6, + 7 + ], + [ + 11, + 12 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 7, + 8 + ], + [ + 15, + 17 + ], + [ + 2, + 3 + ], + [ + 1, + 13 + ], + [ + 6, + 10 + ], + [ + 8, + 17 + ], + [ + 1, + 2 + ], + [ + 6, + 11 + ], + [ + 4, + 5 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 8, + 9 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.752455417001329, + "first_execute_seconds": 0.02272162500230479, + "warm_seconds_median": 0.00328675000127987, + "warm_seconds_mad": 0.0007438749962602742, + "peak_rss_bytes": 333316096, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.056115923095412e-06, + "valid": true, + "failure": null, + "worker_pid": 91036, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.04737108200788498, + -0.058920253068208694, + -0.13894063234329224, + -0.1740783452987671, + -0.28565099835395813, + -0.04443163424730301, + -0.28800168633461, + -0.3262191116809845, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172491108998656, + -0.05270252004265785, + -0.07646054774522781, + 0.043196775019168854, + 0.019278686493635178, + -0.15224725008010864, + -0.20906448364257812, + -0.022942878305912018, + 0.19368678331375122, + 0.18352194130420685, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275570929050446, + -0.24816837906837463, + -0.18776410818099976, + -0.22483718395233154, + -0.16548441350460052, + -0.1541452258825302, + 0.04240688309073448, + -0.16628679633140564, + -0.25748714804649353, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800737351179123, + 0.012208337895572186, + 0.08998114615678787, + 0.17996229231357574, + 0.04348638281226158, + -0.07909029722213745, + -0.09540735930204391, + 0.013694431632757187, + 0.15580449998378754, + 0.10954702645540237, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 60896 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15632, + "bulk_block_path_flops": 15632, + "tail_path_flops": 6720, + "last_path_flops": 488, + "estimated_energy_flops": 38968, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 384, + "total_bytes": 43312, + "recomputable_bytes": 42080, + "bytes_by_category": { + "primitive:scan": 31232, + "primitive:dot_general": 6880, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 832, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 144, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 17, + 18 + ], + [ + 15, + 20 + ], + [ + 41, + 48 + ], + [ + 25, + 27 + ], + [ + 1, + 7 + ], + [ + 47, + 48 + ], + [ + 23, + 29 + ], + [ + 12, + 13 + ], + [ + 15, + 45 + ], + [ + 48, + 50 + ], + [ + 0, + 46 + ], + [ + 30, + 31 + ], + [ + 5, + 6 + ], + [ + 7, + 8 + ], + [ + 31, + 32 + ], + [ + 23, + 24 + ], + [ + 9, + 14 + ], + [ + 23, + 24 + ], + [ + 28, + 30 + ], + [ + 4, + 35 + ], + [ + 18, + 19 + ], + [ + 16, + 18 + ], + [ + 0, + 22 + ], + [ + 23, + 36 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 0, + 1 + ], + [ + 13, + 14 + ], + [ + 18, + 29 + ], + [ + 7, + 8 + ], + [ + 5, + 14 + ], + [ + 6, + 7 + ], + [ + 8, + 9 + ], + [ + 3, + 4 + ], + [ + 5, + 11 + ], + [ + 1, + 2 + ], + [ + 8, + 16 + ], + [ + 0, + 13 + ], + [ + 5, + 8 + ], + [ + 1, + 9 + ], + [ + 0, + 9 + ], + [ + 2, + 8 + ], + [ + 6, + 10 + ], + [ + 5, + 11 + ], + [ + 1, + 15 + ], + [ + 2, + 14 + ], + [ + 6, + 13 + ], + [ + 5, + 6 + ], + [ + 3, + 11 + ], + [ + 7, + 9 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 6, + 7 + ], + [ + 11, + 12 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 7, + 8 + ], + [ + 15, + 17 + ], + [ + 2, + 3 + ], + [ + 1, + 13 + ], + [ + 6, + 10 + ], + [ + 8, + 17 + ], + [ + 1, + 2 + ], + [ + 6, + 11 + ], + [ + 4, + 5 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 8, + 9 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.975566125001933, + "first_execute_seconds": 0.04454095899927779, + "warm_seconds_median": 0.005456708000565413, + "warm_seconds_mad": 0.0010540830007812474, + "peak_rss_bytes": 305397760, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.056115923095412e-06, + "valid": true, + "failure": null, + "worker_pid": 91157, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.04737108200788498, + -0.058920253068208694, + -0.13894063234329224, + -0.1740783452987671, + -0.28565099835395813, + -0.04443163424730301, + -0.28800168633461, + -0.3262191116809845, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172491108998656, + -0.05270252004265785, + -0.07646054774522781, + 0.043196775019168854, + 0.019278686493635178, + -0.15224725008010864, + -0.20906448364257812, + -0.022942878305912018, + 0.19368678331375122, + 0.18352194130420685, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275570929050446, + -0.24816837906837463, + -0.18776410818099976, + -0.22483718395233154, + -0.16548441350460052, + -0.1541452258825302, + 0.04240688309073448, + -0.16628679633140564, + -0.25748714804649353, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800737351179123, + 0.012208337895572186, + 0.08998114615678787, + 0.17996229231357574, + 0.04348638281226158, + -0.07909029722213745, + -0.09540735930204391, + 0.013694431632757187, + 0.15580449998378754, + 0.10954702645540237, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 45016 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15632, + "bulk_block_path_flops": 15632, + "tail_path_flops": 6720, + "last_path_flops": 488, + "estimated_energy_flops": 38968, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 384, + "total_bytes": 43312, + "recomputable_bytes": 42080, + "bytes_by_category": { + "primitive:scan": 31232, + "primitive:dot_general": 6880, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 832, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 144, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 17, + 18 + ], + [ + 15, + 20 + ], + [ + 41, + 48 + ], + [ + 25, + 27 + ], + [ + 1, + 7 + ], + [ + 47, + 48 + ], + [ + 23, + 29 + ], + [ + 12, + 13 + ], + [ + 15, + 45 + ], + [ + 48, + 50 + ], + [ + 0, + 46 + ], + [ + 30, + 31 + ], + [ + 5, + 6 + ], + [ + 7, + 8 + ], + [ + 31, + 32 + ], + [ + 23, + 24 + ], + [ + 9, + 14 + ], + [ + 23, + 24 + ], + [ + 28, + 30 + ], + [ + 4, + 35 + ], + [ + 18, + 19 + ], + [ + 16, + 18 + ], + [ + 0, + 22 + ], + [ + 23, + 36 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 0, + 1 + ], + [ + 13, + 14 + ], + [ + 18, + 29 + ], + [ + 7, + 8 + ], + [ + 5, + 14 + ], + [ + 6, + 7 + ], + [ + 8, + 9 + ], + [ + 3, + 4 + ], + [ + 5, + 11 + ], + [ + 1, + 2 + ], + [ + 8, + 16 + ], + [ + 0, + 13 + ], + [ + 5, + 8 + ], + [ + 1, + 9 + ], + [ + 0, + 9 + ], + [ + 2, + 8 + ], + [ + 6, + 10 + ], + [ + 5, + 11 + ], + [ + 1, + 15 + ], + [ + 2, + 14 + ], + [ + 6, + 13 + ], + [ + 5, + 6 + ], + [ + 3, + 11 + ], + [ + 7, + 9 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 6, + 7 + ], + [ + 11, + 12 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 7, + 8 + ], + [ + 15, + 17 + ], + [ + 2, + 3 + ], + [ + 1, + 13 + ], + [ + 6, + 10 + ], + [ + 8, + 17 + ], + [ + 1, + 2 + ], + [ + 6, + 11 + ], + [ + 4, + 5 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 8, + 9 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.300909083001898, + "first_execute_seconds": 0.006410124999092659, + "warm_seconds_median": 0.0019959580022259615, + "warm_seconds_mad": 0.0008302910027850885, + "peak_rss_bytes": 395427840, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.056115923095412e-06, + "valid": true, + "failure": null, + "worker_pid": 91255, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.04737108200788498, + -0.058920253068208694, + -0.13894063234329224, + -0.1740783452987671, + -0.28565099835395813, + -0.04443163424730301, + -0.28800168633461, + -0.3262191116809845, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172491108998656, + -0.05270252004265785, + -0.07646054774522781, + 0.043196775019168854, + 0.019278686493635178, + -0.15224725008010864, + -0.20906448364257812, + -0.022942878305912018, + 0.19368678331375122, + 0.18352194130420685, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275570929050446, + -0.24816837906837463, + -0.18776410818099976, + -0.22483718395233154, + -0.16548441350460052, + -0.1541452258825302, + 0.04240688309073448, + -0.16628679633140564, + -0.25748714804649353, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800737351179123, + 0.012208337895572186, + 0.08998114615678787, + 0.17996229231357574, + 0.04348638281226158, + -0.07909029722213745, + -0.09540735930204391, + 0.013694431632757187, + 0.15580449998378754, + 0.10954702645540237, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 888, + "temp_size_in_bytes": 28576 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15632, + "bulk_block_path_flops": 15632, + "tail_path_flops": 6720, + "last_path_flops": 488, + "estimated_energy_flops": 38968, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 142, + "total_bytes": 5504, + "recomputable_bytes": 3568, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 928, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:conj": 208, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 17, + 18 + ], + [ + 15, + 20 + ], + [ + 41, + 48 + ], + [ + 25, + 27 + ], + [ + 1, + 7 + ], + [ + 47, + 48 + ], + [ + 23, + 29 + ], + [ + 12, + 13 + ], + [ + 15, + 45 + ], + [ + 48, + 50 + ], + [ + 0, + 46 + ], + [ + 30, + 31 + ], + [ + 5, + 6 + ], + [ + 7, + 8 + ], + [ + 31, + 32 + ], + [ + 23, + 24 + ], + [ + 9, + 14 + ], + [ + 23, + 24 + ], + [ + 28, + 30 + ], + [ + 4, + 35 + ], + [ + 18, + 19 + ], + [ + 16, + 18 + ], + [ + 0, + 22 + ], + [ + 23, + 36 + ], + [ + 21, + 27 + ], + [ + 11, + 12 + ], + [ + 0, + 1 + ], + [ + 13, + 14 + ], + [ + 18, + 29 + ], + [ + 7, + 8 + ], + [ + 5, + 14 + ], + [ + 6, + 7 + ], + [ + 8, + 9 + ], + [ + 3, + 4 + ], + [ + 5, + 11 + ], + [ + 1, + 2 + ], + [ + 8, + 16 + ], + [ + 0, + 13 + ], + [ + 5, + 8 + ], + [ + 1, + 9 + ], + [ + 0, + 9 + ], + [ + 2, + 8 + ], + [ + 6, + 10 + ], + [ + 5, + 11 + ], + [ + 1, + 15 + ], + [ + 2, + 14 + ], + [ + 6, + 13 + ], + [ + 5, + 6 + ], + [ + 3, + 11 + ], + [ + 7, + 9 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 6, + 7 + ], + [ + 11, + 12 + ], + [ + 13, + 14 + ], + [ + 10, + 20 + ], + [ + 7, + 8 + ], + [ + 15, + 17 + ], + [ + 2, + 3 + ], + [ + 1, + 13 + ], + [ + 6, + 10 + ], + [ + 8, + 17 + ], + [ + 1, + 2 + ], + [ + 6, + 11 + ], + [ + 4, + 5 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 8, + 9 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 3 + ], + [ + 1, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.734765790999518, + "first_execute_seconds": 0.008787958999164402, + "warm_seconds_median": 0.0018116250030288938, + "warm_seconds_mad": 0.0006554169995069969, + "peak_rss_bytes": 344064000, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.056115923095412e-06, + "valid": true, + "failure": null, + "worker_pid": 91349, + "parent_pid": 81784, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.04737108200788498, + -0.058920253068208694, + -0.13894063234329224, + -0.1740783452987671, + -0.28565099835395813, + -0.04443163424730301, + -0.28800168633461, + -0.3262191116809845, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313251219689846, + 0.0018172491108998656, + -0.05270252004265785, + -0.07646054774522781, + 0.043196775019168854, + 0.019278686493635178, + -0.15224725008010864, + -0.20906448364257812, + -0.022942878305912018, + 0.19368678331375122, + 0.18352194130420685, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275570929050446, + -0.24816837906837463, + -0.18776410818099976, + -0.22483718395233154, + -0.16548441350460052, + -0.1541452258825302, + 0.04240688309073448, + -0.16628679633140564, + -0.25748714804649353, + -0.41565844416618347, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800737351179123, + 0.012208337895572186, + 0.08998114615678787, + 0.17996229231357574, + 0.04348638281226158, + -0.07909029722213745, + -0.09540735930204391, + 0.013694431632757187, + 0.15580449998378754, + 0.10954702645540237, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 728, + "temp_size_in_bytes": 50712 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 15632, + "bulk_block_path_flops": 15632, + "tail_path_flops": 6720, + "last_path_flops": 488, + "estimated_energy_flops": 38968, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 142, + "total_bytes": 5504, + "recomputable_bytes": 3568, + "bytes_by_category": { + "constant": 1792, + "primitive:scan": 1152, + "primitive:dot_general": 928, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:conj": 208, + "primitive:reshape": 192, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 10.039812208000512, + "first_execute_seconds": 0.025586833999113878, + "warm_seconds_median": 0.007196667000243906, + "warm_seconds_mad": 0.0006174580012157094, + "peak_rss_bytes": 221413376, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 81846, + "parent_pid": 81784, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.0729302316904068, + -0.0473712757229805, + -0.058920182287693024, + -0.13894063234329224, + -0.17407861351966858, + -0.28565138578414917, + -0.044431693851947784, + -0.288002073764801, + -0.32621902227401733, + -0.38711029291152954, + 0.0 + ], + [ + -0.011313254944980145, + 0.0018168840324506164, + -0.05270148068666458, + -0.0764598473906517, + 0.043196894228458405, + 0.01927817240357399, + -0.1522495448589325, + -0.20906610786914825, + -0.02294367551803589, + 0.19368714094161987, + 0.1835225522518158, + 0.059220921248197556 + ] + ], + [ + [ + 0.2825295925140381, + -0.07275639474391937, + -0.24816745519638062, + -0.18776455521583557, + -0.2248382866382599, + -0.16548416018486023, + -0.15414561331272125, + 0.04240597039461136, + -0.16628773510456085, + -0.25748759508132935, + -0.41565966606140137, + 0.0 + ], + [ + -0.10177331417798996, + -0.09800641983747482, + 0.012208650819957256, + 0.08998209983110428, + 0.17996220290660858, + 0.04348596930503845, + -0.07909044623374939, + -0.0954071506857872, + 0.01369461789727211, + 0.1558043211698532, + 0.10954675823450089, + 0.039107635617256165 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 520, + "temp_size_in_bytes": 3481544 + }, + "static_estimate": { + "parameter_count": 46, + "state_bytes": 32768, + "saved_boundary_upper_bound_bytes": 98304, + "estimated_forward_gate_applications": 46, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-report-n8-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-report-n8-d2.json new file mode 100644 index 000000000..e7a39af7b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-blocked-spatial-report-n8-d2.json @@ -0,0 +1,27730 @@ +{ + "request": { + "spec": { + "nqubits": 8, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8735434590016666, + "first_execute_seconds": 0.002178291997552151, + "warm_seconds_median": 0.000753791999159148, + "warm_seconds_mad": 6.191700231283903e-05, + "peak_rss_bytes": 295780352, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76434, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 32 + ], + [ + 2, + 31 + ], + [ + 2, + 30 + ], + [ + 2, + 29 + ], + [ + 2, + 28 + ], + [ + 2, + 27 + ], + [ + 2, + 26 + ], + [ + 0, + 56 + ], + [ + 0, + 61 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 9, + 17 + ], + [ + 10, + 16 + ], + [ + 10, + 15 + ], + [ + 10, + 14 + ], + [ + 10, + 13 + ], + [ + 10, + 12 + ], + [ + 10, + 11 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 0, + 10 + ], + [ + 0, + 14 + ], + [ + 1, + 28 + ], + [ + 1, + 27 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 27 + ], + [ + 10, + 26 + ], + [ + 11, + 34 + ], + [ + 10, + 24 + ], + [ + 16, + 32 + ], + [ + 16, + 28 + ], + [ + 20, + 27 + ], + [ + 15, + 29 + ], + [ + 24, + 28 + ], + [ + 0, + 24 + ], + [ + 9, + 26 + ], + [ + 23, + 25 + ], + [ + 4, + 22 + ], + [ + 16, + 23 + ], + [ + 21, + 22 + ], + [ + 4, + 16 + ], + [ + 4, + 15 + ], + [ + 18, + 19 + ], + [ + 4, + 14 + ], + [ + 4, + 13 + ], + [ + 15, + 16 + ], + [ + 3, + 12 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 11, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 4.424062874997617, + "first_execute_seconds": 0.003302999997686129, + "warm_seconds_median": 0.00041437500112806447, + "warm_seconds_mad": 2.0250001398380846e-05, + "peak_rss_bytes": 315277312, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.378262265054704e-06, + "valid": true, + "failure": null, + "worker_pid": 76064, + "parent_pid": 75973, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582213178277016, + 0.16267919540405273, + 0.4295191466808319, + 0.5784918665885925, + 0.14390483498573303, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016319638234563172, + -0.04916917160153389, + -0.07137015461921692, + 0.04252932220697403, + 0.018034672364592552, + -0.16026045382022858, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409524843096733, + 0.3724292516708374, + 0.36280497908592224, + -0.10408815741539001, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588508516550064, + -0.058648403733968735, + -0.2143373042345047, + -0.04868508502840996, + -0.10687986016273499, + -0.2270757257938385, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 29512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19152, + "contractions_per_energy": 1, + "estimated_energy_flops": 19152, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28880, + "recomputable_bytes": 28032, + "bytes_by_category": { + "primitive:dot_general": 19904, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:concatenate": 256, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9234384169976693, + "first_execute_seconds": 0.004664457999751903, + "warm_seconds_median": 0.0006333329984045122, + "warm_seconds_mad": 3.274999835412018e-05, + "peak_rss_bytes": 275742720, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76399, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8735434590016666, + "first_execute_seconds": 0.002178291997552151, + "warm_seconds_median": 0.000753791999159148, + "warm_seconds_mad": 6.191700231283903e-05, + "peak_rss_bytes": 295780352, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76434, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5428024169996206, + "first_execute_seconds": 0.007633207998878788, + "warm_seconds_median": 0.0005961659990134649, + "warm_seconds_mad": 9.900000077323057e-05, + "peak_rss_bytes": 258113536, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76554, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 11656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1757126250013243, + "first_execute_seconds": 0.002287750001414679, + "warm_seconds_median": 0.000712416000169469, + "warm_seconds_mad": 2.0625000615837052e-05, + "peak_rss_bytes": 270172160, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76825, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 19752 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 90, + "total_bytes": 3862, + "recomputable_bytes": 3590, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.354828458999691, + "first_execute_seconds": 0.00999887500074692, + "warm_seconds_median": 0.0015334999989136122, + "warm_seconds_mad": 0.0005504999971890356, + "peak_rss_bytes": 232816640, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 76874, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 36256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 24480, + "recomputable_bytes": 23952, + "bytes_by_category": { + "primitive:scan": 21120, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.431404958999337, + "first_execute_seconds": 0.0054583750024903566, + "warm_seconds_median": 0.0008478340023430064, + "warm_seconds_mad": 0.0001711249969957862, + "peak_rss_bytes": 217677824, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 77038, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27608 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 24480, + "recomputable_bytes": 23952, + "bytes_by_category": { + "primitive:scan": 21120, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 29, + 30 + ], + [ + 43, + 50 + ], + [ + 7, + 8 + ], + [ + 37, + 38 + ], + [ + 11, + 12 + ], + [ + 13, + 20 + ], + [ + 34, + 35 + ], + [ + 14, + 15 + ], + [ + 29, + 30 + ], + [ + 21, + 22 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 27, + 28 + ], + [ + 19, + 21 + ], + [ + 4, + 5 + ], + [ + 19, + 20 + ], + [ + 9, + 25 + ], + [ + 12, + 33 + ], + [ + 20, + 21 + ], + [ + 31, + 32 + ], + [ + 8, + 21 + ], + [ + 24, + 31 + ], + [ + 24, + 32 + ], + [ + 17, + 19 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 3 + ], + [ + 12, + 19 + ], + [ + 17, + 22 + ], + [ + 22, + 27 + ], + [ + 1, + 12 + ], + [ + 6, + 16 + ], + [ + 3, + 4 + ], + [ + 7, + 8 + ], + [ + 8, + 14 + ], + [ + 4, + 8 + ], + [ + 6, + 12 + ], + [ + 7, + 14 + ], + [ + 11, + 18 + ], + [ + 15, + 19 + ], + [ + 10, + 15 + ], + [ + 10, + 11 + ], + [ + 11, + 15 + ], + [ + 14, + 15 + ], + [ + 1, + 11 + ], + [ + 10, + 13 + ], + [ + 3, + 9 + ], + [ + 0, + 10 + ], + [ + 4, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 25 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 3, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 3, + 4 + ], + [ + 9, + 10 + ], + [ + 1, + 12 + ], + [ + 11, + 13 + ], + [ + 5, + 6 + ], + [ + 2, + 11 + ], + [ + 2, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 5 + ], + [ + 5, + 10 + ], + [ + 7, + 9 + ], + [ + 1, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.325345041997934, + "first_execute_seconds": 0.030364457998075522, + "warm_seconds_median": 0.0006056249985704198, + "warm_seconds_mad": 5.129099736222997e-05, + "peak_rss_bytes": 229326848, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4600668469838502e-06, + "valid": true, + "failure": null, + "worker_pid": 77935, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582246705889702, + 0.1626792699098587, + 0.4295192062854767, + 0.5784916877746582, + 0.14390471577644348, + 0.5593963861465454, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016321122529916465, + -0.049169186502695084, + -0.0713702142238617, + 0.042529262602329254, + 0.01803460158407688, + -0.16026034951210022, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409525215625763, + 0.3724292814731598, + 0.36280497908592224, + -0.10408812761306763, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588508516550064, + -0.05864847078919411, + -0.21433719992637634, + -0.048685092478990555, + -0.1068798154592514, + -0.22707577049732208, + -0.057777222245931625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27224 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14560, + "bulk_block_path_flops": 14560, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 21780, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 385, + "total_bytes": 25856, + "recomputable_bytes": 24624, + "bytes_by_category": { + "primitive:scan": 13344, + "primitive:dot_general": 7072, + "primitive:stack": 960, + "primitive:conj": 944, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1785139579988027, + "first_execute_seconds": 0.00290633399708895, + "warm_seconds_median": 0.0007536249977420084, + "warm_seconds_mad": 0.00011237499711569399, + "peak_rss_bytes": 253657088, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78295, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.554739667000831, + "first_execute_seconds": 0.02616054100144538, + "warm_seconds_median": 0.0010324579998268746, + "warm_seconds_mad": 0.00013749999925494194, + "peak_rss_bytes": 208257024, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78438, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1746095000016794, + "first_execute_seconds": 0.004079415997694014, + "warm_seconds_median": 0.001856500002759276, + "warm_seconds_mad": 0.0003682079986901954, + "peak_rss_bytes": 263340032, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78569, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8731078749988228, + "first_execute_seconds": 0.0030014160001883283, + "warm_seconds_median": 0.001063749998138519, + "warm_seconds_mad": 0.00017054200361599214, + "peak_rss_bytes": 297975808, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 79961, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 668, + "temp_size_in_bytes": 32936 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 23008, + "recomputable_bytes": 22608, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:conj": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6328529579986935, + "first_execute_seconds": 0.01318787499985774, + "warm_seconds_median": 0.0009622090001357719, + "warm_seconds_mad": 2.1209001715760678e-05, + "peak_rss_bytes": 237273088, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 80122, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 11656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5408, + "recomputable_bytes": 4816, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4154791250002745, + "first_execute_seconds": 0.002630083999974886, + "warm_seconds_median": 0.0005629590013995767, + "warm_seconds_mad": 4.8126003093784675e-05, + "peak_rss_bytes": 288309248, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80578, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 14480 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4512, + "recomputable_bytes": 3664, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.6444715409998025, + "first_execute_seconds": 0.009528124999633292, + "warm_seconds_median": 0.0008071669981291052, + "warm_seconds_mad": 5.9374004194978625e-05, + "peak_rss_bytes": 243515392, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80610, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 26072 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4512, + "recomputable_bytes": 3664, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 27, + 28 + ], + [ + 12, + 18 + ], + [ + 4, + 5 + ], + [ + 15, + 16 + ], + [ + 35, + 37 + ], + [ + 8, + 9 + ], + [ + 15, + 16 + ], + [ + 9, + 10 + ], + [ + 25, + 30 + ], + [ + 13, + 14 + ], + [ + 0, + 24 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 14, + 15 + ], + [ + 17, + 23 + ], + [ + 9, + 10 + ], + [ + 5, + 17 + ], + [ + 2, + 5 + ], + [ + 10, + 16 + ], + [ + 3, + 5 + ], + [ + 8, + 13 + ], + [ + 2, + 10 + ], + [ + 5, + 11 + ], + [ + 8, + 9 + ], + [ + 4, + 16 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 13 + ], + [ + 9, + 12 + ], + [ + 1, + 10 + ], + [ + 0, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 3, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.3814198340005532, + "first_execute_seconds": 0.007371249997959239, + "warm_seconds_median": 0.0008259589994850103, + "warm_seconds_mad": 0.00012912400052300654, + "peak_rss_bytes": 249954304, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4398271867701087e-06, + "valid": true, + "failure": null, + "worker_pid": 80951, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267922520637512, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.049169156700372696, + -0.0713701993227005, + 0.04252920299768448, + 0.01803465373814106, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.3724291920661926, + 0.36280494928359985, + -0.10408811271190643, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864845588803291, + -0.2143373191356659, + -0.048685137182474136, + -0.10687988251447678, + -0.2270757257938385, + -0.05777733772993088 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 19160 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10576, + "bulk_block_path_flops": 10576, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 22168, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4384, + "recomputable_bytes": 3280, + "bytes_by_category": { + "primitive:scan": 1152, + "primitive:dot_general": 1088, + "constant": 960, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 8, + 46 + ], + [ + 0, + 15 + ], + [ + 4, + 17 + ], + [ + 8, + 42 + ], + [ + 9, + 42 + ], + [ + 8, + 40 + ], + [ + 2, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 8 + ], + [ + 4, + 32 + ], + [ + 2, + 7 + ], + [ + 1, + 5 + ], + [ + 32, + 65 + ], + [ + 2, + 27 + ], + [ + 0, + 58 + ], + [ + 34, + 41 + ], + [ + 25, + 32 + ], + [ + 38, + 46 + ], + [ + 9, + 58 + ], + [ + 1, + 62 + ], + [ + 0, + 48 + ], + [ + 39, + 46 + ], + [ + 12, + 19 + ], + [ + 33, + 39 + ], + [ + 22, + 42 + ], + [ + 0, + 49 + ], + [ + 30, + 34 + ], + [ + 31, + 35 + ], + [ + 23, + 28 + ], + [ + 21, + 25 + ], + [ + 15, + 47 + ], + [ + 5, + 41 + ], + [ + 23, + 25 + ], + [ + 3, + 27 + ], + [ + 2, + 31 + ], + [ + 0, + 28 + ], + [ + 13, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 9 + ], + [ + 1, + 21 + ], + [ + 10, + 41 + ], + [ + 28, + 38 + ], + [ + 10, + 21 + ], + [ + 18, + 23 + ], + [ + 1, + 37 + ], + [ + 6, + 19 + ], + [ + 3, + 6 + ], + [ + 5, + 11 + ], + [ + 4, + 17 + ], + [ + 27, + 29 + ], + [ + 5, + 6 + ], + [ + 7, + 9 + ], + [ + 0, + 21 + ], + [ + 6, + 18 + ], + [ + 17, + 23 + ], + [ + 2, + 28 + ], + [ + 14, + 27 + ], + [ + 14, + 15 + ], + [ + 8, + 19 + ], + [ + 14, + 21 + ], + [ + 19, + 23 + ], + [ + 0, + 22 + ], + [ + 5, + 12 + ], + [ + 7, + 20 + ], + [ + 4, + 17 + ], + [ + 4, + 8 + ], + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 8, + 13 + ], + [ + 7, + 10 + ], + [ + 8, + 10 + ], + [ + 0, + 11 + ], + [ + 2, + 10 + ], + [ + 8, + 10 + ], + [ + 1, + 9 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 2, + 6 + ], + [ + 2, + 4 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.3482926249998854, + "first_execute_seconds": 0.004689458000939339, + "warm_seconds_median": 0.0004436669987626374, + "warm_seconds_mad": 6.500000017695129e-05, + "peak_rss_bytes": 318914560, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 1.3548867015492317e-06, + "valid": true, + "failure": null, + "worker_pid": 76285, + "parent_pid": 75973, + "energy": -7.8570427894592285, + "gradient": [ + [ + [ + 0.015582301653921604, + 0.16267922520637512, + 0.4295191764831543, + 0.5784919261932373, + 0.1439048945903778, + 0.559396505355835, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780522927641869, + 0.00016312184743583202, + -0.04916917160153389, + -0.0713701918721199, + 0.04252944141626358, + 0.018034668639302254, + -0.16026045382022858, + -0.1268349289894104 + ] + ], + [ + [ + -0.1835922747850418, + -0.024095162749290466, + 0.3724292814731598, + 0.36280500888824463, + -0.10408815741539001, + 0.41859307885169983, + 0.24043141305446625, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588507771492004, + -0.0586484856903553, + -0.2143373191356659, + -0.04868506267666817, + -0.10687986761331558, + -0.22707577049732208, + -0.05777736008167267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 28168 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 18832, + "contractions_per_energy": 1, + "estimated_energy_flops": 18832, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 26576, + "recomputable_bytes": 25728, + "bytes_by_category": { + "primitive:dot_general": 17408, + "jitted:_diag": 4256, + "primitive:conj": 1504, + "primitive:reshape": 896, + "literal": 832, + "primitive:concatenate": 480, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 32 + ], + [ + 2, + 31 + ], + [ + 2, + 30 + ], + [ + 2, + 29 + ], + [ + 2, + 28 + ], + [ + 2, + 27 + ], + [ + 2, + 26 + ], + [ + 0, + 56 + ], + [ + 0, + 61 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 9, + 17 + ], + [ + 10, + 16 + ], + [ + 10, + 15 + ], + [ + 10, + 14 + ], + [ + 10, + 13 + ], + [ + 10, + 12 + ], + [ + 10, + 11 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 0, + 10 + ], + [ + 0, + 14 + ], + [ + 1, + 28 + ], + [ + 1, + 27 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 27 + ], + [ + 10, + 26 + ], + [ + 11, + 34 + ], + [ + 10, + 24 + ], + [ + 16, + 32 + ], + [ + 16, + 28 + ], + [ + 20, + 27 + ], + [ + 15, + 29 + ], + [ + 24, + 28 + ], + [ + 0, + 24 + ], + [ + 9, + 26 + ], + [ + 23, + 25 + ], + [ + 4, + 22 + ], + [ + 16, + 23 + ], + [ + 21, + 22 + ], + [ + 4, + 16 + ], + [ + 4, + 15 + ], + [ + 18, + 19 + ], + [ + 4, + 14 + ], + [ + 4, + 13 + ], + [ + 15, + 16 + ], + [ + 3, + 12 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 11, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 4.424062874997617, + "first_execute_seconds": 0.003302999997686129, + "warm_seconds_median": 0.00041437500112806447, + "warm_seconds_mad": 2.0250001398380846e-05, + "peak_rss_bytes": 315277312, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.378262265054704e-06, + "valid": true, + "failure": null, + "worker_pid": 76064, + "parent_pid": 75973, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582213178277016, + 0.16267919540405273, + 0.4295191466808319, + 0.5784918665885925, + 0.14390483498573303, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016319638234563172, + -0.04916917160153389, + -0.07137015461921692, + 0.04252932220697403, + 0.018034672364592552, + -0.16026045382022858, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409524843096733, + 0.3724292516708374, + 0.36280497908592224, + -0.10408815741539001, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588508516550064, + -0.058648403733968735, + -0.2143373042345047, + -0.04868508502840996, + -0.10687986016273499, + -0.2270757257938385, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 29512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19152, + "contractions_per_energy": 1, + "estimated_energy_flops": 19152, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28880, + "recomputable_bytes": 28032, + "bytes_by_category": { + "primitive:dot_general": 19904, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:concatenate": 256, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 3, + 18 + ], + [ + 1, + 15 + ], + [ + 5, + 18 + ], + [ + 11, + 45 + ], + [ + 9, + 42 + ], + [ + 7, + 39 + ], + [ + 1, + 10 + ], + [ + 6, + 36 + ], + [ + 2, + 9 + ], + [ + 1, + 7 + ], + [ + 11, + 18 + ], + [ + 5, + 30 + ], + [ + 11, + 62 + ], + [ + 13, + 19 + ], + [ + 3, + 24 + ], + [ + 30, + 65 + ], + [ + 22, + 53 + ], + [ + 42, + 50 + ], + [ + 10, + 60 + ], + [ + 0, + 50 + ], + [ + 0, + 3 + ], + [ + 9, + 15 + ], + [ + 1, + 16 + ], + [ + 17, + 47 + ], + [ + 0, + 50 + ], + [ + 14, + 20 + ], + [ + 12, + 49 + ], + [ + 19, + 26 + ], + [ + 15, + 50 + ], + [ + 21, + 26 + ], + [ + 16, + 53 + ], + [ + 35, + 43 + ], + [ + 18, + 23 + ], + [ + 10, + 25 + ], + [ + 4, + 39 + ], + [ + 7, + 10 + ], + [ + 0, + 43 + ], + [ + 9, + 39 + ], + [ + 3, + 6 + ], + [ + 1, + 27 + ], + [ + 0, + 42 + ], + [ + 5, + 19 + ], + [ + 3, + 14 + ], + [ + 35, + 38 + ], + [ + 10, + 30 + ], + [ + 0, + 1 + ], + [ + 2, + 6 + ], + [ + 12, + 21 + ], + [ + 1, + 20 + ], + [ + 3, + 34 + ], + [ + 10, + 16 + ], + [ + 7, + 13 + ], + [ + 28, + 29 + ], + [ + 7, + 9 + ], + [ + 1, + 3 + ], + [ + 21, + 25 + ], + [ + 15, + 27 + ], + [ + 7, + 17 + ], + [ + 5, + 10 + ], + [ + 7, + 19 + ], + [ + 2, + 3 + ], + [ + 12, + 16 + ], + [ + 10, + 21 + ], + [ + 0, + 4 + ], + [ + 9, + 18 + ], + [ + 9, + 15 + ], + [ + 14, + 17 + ], + [ + 15, + 16 + ], + [ + 5, + 15 + ], + [ + 9, + 12 + ], + [ + 6, + 13 + ], + [ + 2, + 5 + ], + [ + 9, + 10 + ], + [ + 0, + 3 + ], + [ + 2, + 8 + ], + [ + 4, + 7 + ], + [ + 2, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 6.198853041998518, + "first_execute_seconds": 0.005762667002272792, + "warm_seconds_median": 0.0006654159988102037, + "warm_seconds_mad": 7.454099977621809e-05, + "peak_rss_bytes": 316358656, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.3135854175914805e-06, + "valid": true, + "failure": null, + "worker_pid": 76155, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582272782921791, + 0.1626792699098587, + 0.42951926589012146, + 0.5784920454025269, + 0.14390473067760468, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001632258208701387, + -0.049169156700372696, + -0.0713701993227005, + 0.04252935200929642, + 0.01803465746343136, + -0.1602604240179062, + -0.12683498859405518 + ] + ], + [ + [ + -0.1835923045873642, + -0.024095216765999794, + 0.37242937088012695, + 0.3628050684928894, + -0.104088194668293, + 0.418593168258667, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588507771492004, + -0.05864841863512993, + -0.21433740854263306, + -0.04868515208363533, + -0.10687991976737976, + -0.2270757555961609, + -0.05777734890580177 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 28296 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 18992, + "contractions_per_energy": 1, + "estimated_energy_flops": 18992, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 27056, + "recomputable_bytes": 26208, + "bytes_by_category": { + "primitive:dot_general": 18048, + "jitted:_diag": 4256, + "primitive:conj": 1504, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 416, + "primitive:scatter": 288, + "primitive:cos": 128, + "primitive:sin": 128, + "primitive:stack": 96, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9234384169976693, + "first_execute_seconds": 0.004664457999751903, + "warm_seconds_median": 0.0006333329984045122, + "warm_seconds_mad": 3.274999835412018e-05, + "peak_rss_bytes": 275742720, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76399, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8735434590016666, + "first_execute_seconds": 0.002178291997552151, + "warm_seconds_median": 0.000753791999159148, + "warm_seconds_mad": 6.191700231283903e-05, + "peak_rss_bytes": 295780352, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76434, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.219417749998684, + "first_execute_seconds": 0.0023072910007613245, + "warm_seconds_median": 0.0008719580000615679, + "warm_seconds_mad": 8.362500011571683e-05, + "peak_rss_bytes": 297500672, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76487, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 30736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5428024169996206, + "first_execute_seconds": 0.007633207998878788, + "warm_seconds_median": 0.0005961659990134649, + "warm_seconds_mad": 9.900000077323057e-05, + "peak_rss_bytes": 258113536, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76554, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 11656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.512964166002348, + "first_execute_seconds": 0.004527834000327857, + "warm_seconds_median": 0.0013205409995862283, + "warm_seconds_mad": 0.00022745799651602283, + "peak_rss_bytes": 319586304, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76644, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.983045790999313, + "first_execute_seconds": 0.00402491700151586, + "warm_seconds_median": 0.0006039580002834555, + "warm_seconds_mad": 3.7083002098370343e-05, + "peak_rss_bytes": 275693568, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76697, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 588, + "temp_size_in_bytes": 28312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "constant": 448, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1757126250013243, + "first_execute_seconds": 0.002287750001414679, + "warm_seconds_median": 0.000712416000169469, + "warm_seconds_mad": 2.0625000615837052e-05, + "peak_rss_bytes": 270172160, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 76825, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 19752 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 90, + "total_bytes": 3862, + "recomputable_bytes": 3590, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.354828458999691, + "first_execute_seconds": 0.00999887500074692, + "warm_seconds_median": 0.0015334999989136122, + "warm_seconds_mad": 0.0005504999971890356, + "peak_rss_bytes": 232816640, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 76874, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 36256 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 24480, + "recomputable_bytes": 23952, + "bytes_by_category": { + "primitive:scan": 21120, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.5264529999985825, + "first_execute_seconds": 0.014033415998710552, + "warm_seconds_median": 0.0022610420019191224, + "warm_seconds_mad": 0.0011436249988037162, + "peak_rss_bytes": 344883200, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 76967, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 30920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 24480, + "recomputable_bytes": 23952, + "bytes_by_category": { + "primitive:scan": 21120, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.431404958999337, + "first_execute_seconds": 0.0054583750024903566, + "warm_seconds_median": 0.0008478340023430064, + "warm_seconds_mad": 0.0001711249969957862, + "peak_rss_bytes": 217677824, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 77038, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27608 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 176, + "total_bytes": 24480, + "recomputable_bytes": 23952, + "bytes_by_category": { + "primitive:scan": 21120, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.033766166001442, + "first_execute_seconds": 0.013128040998708457, + "warm_seconds_median": 0.0009582080019754358, + "warm_seconds_mad": 0.00027929100178880617, + "peak_rss_bytes": 284819456, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 77147, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15888 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 4432, + "recomputable_bytes": 3584, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.2742642910016, + "first_execute_seconds": 0.00566683400029433, + "warm_seconds_median": 0.0009419169982720632, + "warm_seconds_mad": 2.1666997781721875e-05, + "peak_rss_bytes": 243286016, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 77221, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 30488 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 4432, + "recomputable_bytes": 3584, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 14, + 16 + ], + [ + 3, + 4 + ], + [ + 12, + 18 + ], + [ + 17, + 26 + ], + [ + 1, + 2 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 9 + ], + [ + 2, + 4 + ], + [ + 2, + 6 + ], + [ + 6, + 12 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 1, + 10 + ], + [ + 2, + 8 + ], + [ + 7, + 10 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 2, + 5 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.242694042000949, + "first_execute_seconds": 0.004963625000527827, + "warm_seconds_median": 0.0008277090018964373, + "warm_seconds_mad": 3.4417003917042166e-05, + "peak_rss_bytes": 283410432, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5400682079628425e-06, + "valid": true, + "failure": null, + "worker_pid": 77341, + "parent_pid": 75973, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267918050289154, + 0.42951899766921997, + 0.5784918069839478, + 0.14390474557876587, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322641749866307, + -0.0491691492497921, + -0.07137027382850647, + 0.04252926632761955, + 0.018034646287560463, + -0.16026034951210022, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409517765045166, + 0.37242913246154785, + 0.3628048300743103, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864845588803291, + -0.21433745324611664, + -0.04868509992957115, + -0.10687980055809021, + -0.2270757257938385, + -0.0577772818505764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6336, + "bulk_block_path_flops": 6336, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19972, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 107, + "total_bytes": 4432, + "recomputable_bytes": 3584, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "constant": 704, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 30, + 37 + ], + [ + 4, + 42 + ], + [ + 1, + 3 + ], + [ + 26, + 27 + ], + [ + 13, + 19 + ], + [ + 5, + 12 + ], + [ + 7, + 8 + ], + [ + 18, + 19 + ], + [ + 19, + 20 + ], + [ + 25, + 26 + ], + [ + 14, + 15 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 8, + 24 + ], + [ + 15, + 16 + ], + [ + 1, + 5 + ], + [ + 1, + 15 + ], + [ + 9, + 10 + ], + [ + 11, + 19 + ], + [ + 3, + 22 + ], + [ + 10, + 21 + ], + [ + 11, + 22 + ], + [ + 2, + 15 + ], + [ + 2, + 4 + ], + [ + 4, + 10 + ], + [ + 5, + 12 + ], + [ + 5, + 17 + ], + [ + 11, + 13 + ], + [ + 2, + 11 + ], + [ + 4, + 14 + ], + [ + 10, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 12 + ], + [ + 6, + 9 + ], + [ + 0, + 8 + ], + [ + 5, + 9 + ], + [ + 0, + 2 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.550291208000999, + "first_execute_seconds": 0.008458000000246102, + "warm_seconds_median": 0.002061415998468874, + "warm_seconds_mad": 0.0009068319996003993, + "peak_rss_bytes": 314638336, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5823822916222564e-06, + "valid": true, + "failure": null, + "worker_pid": 77420, + "parent_pid": 75973, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267919540405273, + 0.42951899766921997, + 0.578491747379303, + 0.1439046710729599, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016321154544129968, + -0.04916917160153389, + -0.07137013971805573, + 0.042529355734586716, + 0.018034687265753746, + -0.16026034951210022, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095170199871063, + 0.37242916226387024, + 0.3628048896789551, + -0.1040881872177124, + 0.4185928702354431, + 0.24043133854866028, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864846333861351, + -0.21433722972869873, + -0.04868509992957115, + -0.1068798154592514, + -0.2270757257938385, + -0.057777244597673416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 42848 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10016, + "bulk_block_path_flops": 10016, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20996, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 220, + "total_bytes": 26144, + "recomputable_bytes": 25488, + "bytes_by_category": { + "primitive:scan": 22336, + "primitive:dot_general": 1088, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 30, + 37 + ], + [ + 4, + 42 + ], + [ + 1, + 3 + ], + [ + 26, + 27 + ], + [ + 13, + 19 + ], + [ + 5, + 12 + ], + [ + 7, + 8 + ], + [ + 18, + 19 + ], + [ + 19, + 20 + ], + [ + 25, + 26 + ], + [ + 14, + 15 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 8, + 24 + ], + [ + 15, + 16 + ], + [ + 1, + 5 + ], + [ + 1, + 15 + ], + [ + 9, + 10 + ], + [ + 11, + 19 + ], + [ + 3, + 22 + ], + [ + 10, + 21 + ], + [ + 11, + 22 + ], + [ + 2, + 15 + ], + [ + 2, + 4 + ], + [ + 4, + 10 + ], + [ + 5, + 12 + ], + [ + 5, + 17 + ], + [ + 11, + 13 + ], + [ + 2, + 11 + ], + [ + 4, + 14 + ], + [ + 10, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 12 + ], + [ + 6, + 9 + ], + [ + 0, + 8 + ], + [ + 5, + 9 + ], + [ + 0, + 2 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.817954750000354, + "first_execute_seconds": 0.006145540999568766, + "warm_seconds_median": 0.0013174159976188093, + "warm_seconds_mad": 0.0003394999985175673, + "peak_rss_bytes": 271695872, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5823822916222564e-06, + "valid": true, + "failure": null, + "worker_pid": 77519, + "parent_pid": 75973, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267919540405273, + 0.42951899766921997, + 0.578491747379303, + 0.1439046710729599, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016321154544129968, + -0.04916917160153389, + -0.07137013971805573, + 0.042529355734586716, + 0.018034687265753746, + -0.16026034951210022, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095170199871063, + 0.37242916226387024, + 0.3628048896789551, + -0.1040881872177124, + 0.4185928702354431, + 0.24043133854866028, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864846333861351, + -0.21433722972869873, + -0.04868509992957115, + -0.1068798154592514, + -0.2270757257938385, + -0.057777244597673416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10016, + "bulk_block_path_flops": 10016, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20996, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 220, + "total_bytes": 26144, + "recomputable_bytes": 25488, + "bytes_by_category": { + "primitive:scan": 22336, + "primitive:dot_general": 1088, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 30, + 37 + ], + [ + 4, + 42 + ], + [ + 1, + 3 + ], + [ + 26, + 27 + ], + [ + 13, + 19 + ], + [ + 5, + 12 + ], + [ + 7, + 8 + ], + [ + 18, + 19 + ], + [ + 19, + 20 + ], + [ + 25, + 26 + ], + [ + 14, + 15 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 8, + 24 + ], + [ + 15, + 16 + ], + [ + 1, + 5 + ], + [ + 1, + 15 + ], + [ + 9, + 10 + ], + [ + 11, + 19 + ], + [ + 3, + 22 + ], + [ + 10, + 21 + ], + [ + 11, + 22 + ], + [ + 2, + 15 + ], + [ + 2, + 4 + ], + [ + 4, + 10 + ], + [ + 5, + 12 + ], + [ + 5, + 17 + ], + [ + 11, + 13 + ], + [ + 2, + 11 + ], + [ + 4, + 14 + ], + [ + 10, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 12 + ], + [ + 6, + 9 + ], + [ + 0, + 8 + ], + [ + 5, + 9 + ], + [ + 0, + 2 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.49733125000057, + "first_execute_seconds": 0.007918333001725841, + "warm_seconds_median": 0.003020832999027334, + "warm_seconds_mad": 0.0013652910020027775, + "peak_rss_bytes": 301826048, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5823822916222564e-06, + "valid": true, + "failure": null, + "worker_pid": 77680, + "parent_pid": 75973, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267919540405273, + 0.42951899766921997, + 0.578491747379303, + 0.1439046710729599, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016321154544129968, + -0.04916917160153389, + -0.07137013971805573, + 0.042529355734586716, + 0.018034687265753746, + -0.16026034951210022, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095170199871063, + 0.37242916226387024, + 0.3628048896789551, + -0.1040881872177124, + 0.4185928702354431, + 0.24043133854866028, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864846333861351, + -0.21433722972869873, + -0.04868509992957115, + -0.1068798154592514, + -0.2270757257938385, + -0.057777244597673416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 20312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10016, + "bulk_block_path_flops": 10016, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20996, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 115, + "total_bytes": 4304, + "recomputable_bytes": 3200, + "bytes_by_category": { + "primitive:scan": 1152, + "constant": 960, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 30, + 37 + ], + [ + 4, + 42 + ], + [ + 1, + 3 + ], + [ + 26, + 27 + ], + [ + 13, + 19 + ], + [ + 5, + 12 + ], + [ + 7, + 8 + ], + [ + 18, + 19 + ], + [ + 19, + 20 + ], + [ + 25, + 26 + ], + [ + 14, + 15 + ], + [ + 10, + 11 + ], + [ + 10, + 11 + ], + [ + 8, + 24 + ], + [ + 15, + 16 + ], + [ + 1, + 5 + ], + [ + 1, + 15 + ], + [ + 9, + 10 + ], + [ + 11, + 19 + ], + [ + 3, + 22 + ], + [ + 10, + 21 + ], + [ + 11, + 22 + ], + [ + 2, + 15 + ], + [ + 2, + 4 + ], + [ + 4, + 10 + ], + [ + 5, + 12 + ], + [ + 5, + 17 + ], + [ + 11, + 13 + ], + [ + 2, + 11 + ], + [ + 4, + 14 + ], + [ + 10, + 14 + ], + [ + 0, + 13 + ], + [ + 6, + 12 + ], + [ + 6, + 9 + ], + [ + 0, + 8 + ], + [ + 5, + 9 + ], + [ + 0, + 2 + ], + [ + 4, + 6 + ], + [ + 2, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.932830708999973, + "first_execute_seconds": 0.006922083000972634, + "warm_seconds_median": 0.0013081659999443218, + "warm_seconds_mad": 0.00021862400171812624, + "peak_rss_bytes": 229474304, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5823822916222564e-06, + "valid": true, + "failure": null, + "worker_pid": 77796, + "parent_pid": 75973, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267919540405273, + 0.42951899766921997, + 0.578491747379303, + 0.1439046710729599, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016321154544129968, + -0.04916917160153389, + -0.07137013971805573, + 0.042529355734586716, + 0.018034687265753746, + -0.16026034951210022, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095170199871063, + 0.37242916226387024, + 0.3628048896789551, + -0.1040881872177124, + 0.4185928702354431, + 0.24043133854866028, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864846333861351, + -0.21433722972869873, + -0.04868509992957115, + -0.1068798154592514, + -0.2270757257938385, + -0.057777244597673416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 32600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10016, + "bulk_block_path_flops": 10016, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 20996, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 115, + "total_bytes": 4304, + "recomputable_bytes": 3200, + "bytes_by_category": { + "primitive:scan": 1152, + "constant": 960, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 29, + 30 + ], + [ + 43, + 50 + ], + [ + 7, + 8 + ], + [ + 37, + 38 + ], + [ + 11, + 12 + ], + [ + 13, + 20 + ], + [ + 34, + 35 + ], + [ + 14, + 15 + ], + [ + 29, + 30 + ], + [ + 21, + 22 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 27, + 28 + ], + [ + 19, + 21 + ], + [ + 4, + 5 + ], + [ + 19, + 20 + ], + [ + 9, + 25 + ], + [ + 12, + 33 + ], + [ + 20, + 21 + ], + [ + 31, + 32 + ], + [ + 8, + 21 + ], + [ + 24, + 31 + ], + [ + 24, + 32 + ], + [ + 17, + 19 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 3 + ], + [ + 12, + 19 + ], + [ + 17, + 22 + ], + [ + 22, + 27 + ], + [ + 1, + 12 + ], + [ + 6, + 16 + ], + [ + 3, + 4 + ], + [ + 7, + 8 + ], + [ + 8, + 14 + ], + [ + 4, + 8 + ], + [ + 6, + 12 + ], + [ + 7, + 14 + ], + [ + 11, + 18 + ], + [ + 15, + 19 + ], + [ + 10, + 15 + ], + [ + 10, + 11 + ], + [ + 11, + 15 + ], + [ + 14, + 15 + ], + [ + 1, + 11 + ], + [ + 10, + 13 + ], + [ + 3, + 9 + ], + [ + 0, + 10 + ], + [ + 4, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 25 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 3, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 3, + 4 + ], + [ + 9, + 10 + ], + [ + 1, + 12 + ], + [ + 11, + 13 + ], + [ + 5, + 6 + ], + [ + 2, + 11 + ], + [ + 2, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 5 + ], + [ + 5, + 10 + ], + [ + 7, + 9 + ], + [ + 1, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 12.325345041997934, + "first_execute_seconds": 0.030364457998075522, + "warm_seconds_median": 0.0006056249985704198, + "warm_seconds_mad": 5.129099736222997e-05, + "peak_rss_bytes": 229326848, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4600668469838502e-06, + "valid": true, + "failure": null, + "worker_pid": 77935, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582246705889702, + 0.1626792699098587, + 0.4295192062854767, + 0.5784916877746582, + 0.14390471577644348, + 0.5593963861465454, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016321122529916465, + -0.049169186502695084, + -0.0713702142238617, + 0.042529262602329254, + 0.01803460158407688, + -0.16026034951210022, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409525215625763, + 0.3724292814731598, + 0.36280497908592224, + -0.10408812761306763, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588508516550064, + -0.05864847078919411, + -0.21433719992637634, + -0.048685092478990555, + -0.1068798154592514, + -0.22707577049732208, + -0.057777222245931625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27224 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14560, + "bulk_block_path_flops": 14560, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 21780, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 385, + "total_bytes": 25856, + "recomputable_bytes": 24624, + "bytes_by_category": { + "primitive:scan": 13344, + "primitive:dot_general": 7072, + "primitive:stack": 960, + "primitive:conj": 944, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 29, + 30 + ], + [ + 43, + 50 + ], + [ + 7, + 8 + ], + [ + 37, + 38 + ], + [ + 11, + 12 + ], + [ + 13, + 20 + ], + [ + 34, + 35 + ], + [ + 14, + 15 + ], + [ + 29, + 30 + ], + [ + 21, + 22 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 27, + 28 + ], + [ + 19, + 21 + ], + [ + 4, + 5 + ], + [ + 19, + 20 + ], + [ + 9, + 25 + ], + [ + 12, + 33 + ], + [ + 20, + 21 + ], + [ + 31, + 32 + ], + [ + 8, + 21 + ], + [ + 24, + 31 + ], + [ + 24, + 32 + ], + [ + 17, + 19 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 3 + ], + [ + 12, + 19 + ], + [ + 17, + 22 + ], + [ + 22, + 27 + ], + [ + 1, + 12 + ], + [ + 6, + 16 + ], + [ + 3, + 4 + ], + [ + 7, + 8 + ], + [ + 8, + 14 + ], + [ + 4, + 8 + ], + [ + 6, + 12 + ], + [ + 7, + 14 + ], + [ + 11, + 18 + ], + [ + 15, + 19 + ], + [ + 10, + 15 + ], + [ + 10, + 11 + ], + [ + 11, + 15 + ], + [ + 14, + 15 + ], + [ + 1, + 11 + ], + [ + 10, + 13 + ], + [ + 3, + 9 + ], + [ + 0, + 10 + ], + [ + 4, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 5, + 6 + ], + [ + 11, + 12 + ], + [ + 8, + 25 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 3, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 3, + 4 + ], + [ + 9, + 10 + ], + [ + 1, + 12 + ], + [ + 11, + 13 + ], + [ + 5, + 6 + ], + [ + 2, + 11 + ], + [ + 2, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 5 + ], + [ + 5, + 10 + ], + [ + 7, + 9 + ], + [ + 1, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 13.399553916002333, + "first_execute_seconds": 0.012430582999513717, + "warm_seconds_median": 0.00208612500136951, + "warm_seconds_mad": 0.0005198750004637986, + "peak_rss_bytes": 242548736, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4600668469838502e-06, + "valid": true, + "failure": null, + "worker_pid": 78126, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582246705889702, + 0.1626792699098587, + 0.4295192062854767, + 0.5784916877746582, + 0.14390471577644348, + 0.5593963861465454, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016321122529916465, + -0.049169186502695084, + -0.0713702142238617, + 0.042529262602329254, + 0.01803460158407688, + -0.16026034951210022, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409525215625763, + 0.3724292814731598, + 0.36280497908592224, + -0.10408812761306763, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588508516550064, + -0.05864847078919411, + -0.21433719992637634, + -0.048685092478990555, + -0.1068798154592514, + -0.22707577049732208, + -0.057777222245931625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14560, + "bulk_block_path_flops": 14560, + "tail_path_flops": 6256, + "last_path_flops": 484, + "estimated_energy_flops": 21780, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 143, + "total_bytes": 5136, + "recomputable_bytes": 3200, + "bytes_by_category": { + "constant": 1792, + "primitive:dot_general": 896, + "primitive:scan": 768, + "primitive:stack": 384, + "primitive:transpose": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:reshape": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1785139579988027, + "first_execute_seconds": 0.00290633399708895, + "warm_seconds_median": 0.0007536249977420084, + "warm_seconds_mad": 0.00011237499711569399, + "peak_rss_bytes": 253657088, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78295, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.491570958998636, + "first_execute_seconds": 0.006933791999472305, + "warm_seconds_median": 0.001640999998926418, + "warm_seconds_mad": 0.0003813339972111862, + "peak_rss_bytes": 274694144, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78341, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 27232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 10.554739667000831, + "first_execute_seconds": 0.02616054100144538, + "warm_seconds_median": 0.0010324579998268746, + "warm_seconds_mad": 0.00013749999925494194, + "peak_rss_bytes": 208257024, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78438, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1746095000016794, + "first_execute_seconds": 0.004079415997694014, + "warm_seconds_median": 0.001856500002759276, + "warm_seconds_mad": 0.0003682079986901954, + "peak_rss_bytes": 263340032, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78569, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 12168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.3030636250005045, + "first_execute_seconds": 0.0026715409985627048, + "warm_seconds_median": 0.0007922910008346662, + "warm_seconds_mad": 7.395799912046641e-05, + "peak_rss_bytes": 274038784, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78630, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.430960999998206, + "first_execute_seconds": 0.0027165840001543984, + "warm_seconds_median": 0.0008017499967536423, + "warm_seconds_mad": 9.487499846727587e-05, + "peak_rss_bytes": 314671104, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78671, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 588, + "temp_size_in_bytes": 24152 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.439011208000011, + "first_execute_seconds": 0.004004250000434695, + "warm_seconds_median": 0.0011574579984880984, + "warm_seconds_mad": 0.00011554099910426885, + "peak_rss_bytes": 282787840, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 78755, + "parent_pid": 75973, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 716, + "temp_size_in_bytes": 17640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4390, + "recomputable_bytes": 4118, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.402808125003503, + "first_execute_seconds": 0.0032025830005295575, + "warm_seconds_median": 0.0010162910002691206, + "warm_seconds_mad": 8.491600237903185e-05, + "peak_rss_bytes": 281903104, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 78855, + "parent_pid": 75973, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 36832 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.163814499999717, + "first_execute_seconds": 0.005008082996937446, + "warm_seconds_median": 0.0007818339981895406, + "warm_seconds_mad": 7.533299867645837e-05, + "peak_rss_bytes": 258244608, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 78917, + "parent_pid": 75973, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 31368 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.519722124998225, + "first_execute_seconds": 0.008838000001560431, + "warm_seconds_median": 0.0015414169974974357, + "warm_seconds_mad": 0.00013504199887393042, + "peak_rss_bytes": 295337984, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 79039, + "parent_pid": 75973, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 29592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4360630000010133, + "first_execute_seconds": 0.005296957999235019, + "warm_seconds_median": 0.0011305420011922251, + "warm_seconds_mad": 0.00022941700080991723, + "peak_rss_bytes": 296026112, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 79166, + "parent_pid": 75973, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 18064 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4960, + "recomputable_bytes": 4112, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.804797625001811, + "first_execute_seconds": 0.005627333997836104, + "warm_seconds_median": 0.0012197079995530657, + "warm_seconds_mad": 0.0002753329972620122, + "peak_rss_bytes": 278855680, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 79236, + "parent_pid": 75973, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31896 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4960, + "recomputable_bytes": 4112, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.015406667000207, + "first_execute_seconds": 0.014830625001195585, + "warm_seconds_median": 0.001650415997573873, + "warm_seconds_mad": 0.0001252510010090191, + "peak_rss_bytes": 231522304, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 79331, + "parent_pid": 75973, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 32920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4960, + "recomputable_bytes": 4112, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.48704029199871, + "first_execute_seconds": 0.0052118749990768265, + "warm_seconds_median": 0.0006549999998242129, + "warm_seconds_mad": 8.108299880404957e-05, + "peak_rss_bytes": 291930112, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 79454, + "parent_pid": 75973, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 55208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 220, + "total_bytes": 31088, + "recomputable_bytes": 30432, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.356345374999364, + "first_execute_seconds": 0.01180079199912143, + "warm_seconds_median": 0.0006420000026992057, + "warm_seconds_mad": 1.2249995052115992e-05, + "peak_rss_bytes": 271646720, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 79524, + "parent_pid": 75973, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 43928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 220, + "total_bytes": 31088, + "recomputable_bytes": 30432, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.341485916000238, + "first_execute_seconds": 0.005501791998540284, + "warm_seconds_median": 0.000908791997062508, + "warm_seconds_mad": 0.00015116699796635658, + "peak_rss_bytes": 258080768, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 79600, + "parent_pid": 75973, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 29912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4832, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 960, + "primitive:scan": 768, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.828857667002012, + "first_execute_seconds": 0.004393582999909995, + "warm_seconds_median": 0.0008075420009845402, + "warm_seconds_mad": 6.091699833632447e-05, + "peak_rss_bytes": 318603264, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 79674, + "parent_pid": 75973, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 49432 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4832, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 960, + "primitive:scan": 768, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.784962624999025, + "first_execute_seconds": 0.0039180840030894615, + "warm_seconds_median": 0.0006560000001627486, + "warm_seconds_mad": 5.62919994990807e-05, + "peak_rss_bytes": 297615360, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.4925411498404187e-06, + "valid": true, + "failure": null, + "worker_pid": 79734, + "parent_pid": 75973, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582334250211716, + 0.1626792997121811, + 0.4295191168785095, + 0.5784919857978821, + 0.1439048945903778, + 0.5593962669372559, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016313680680468678, + -0.04916875436902046, + -0.0713699460029602, + 0.04252967983484268, + 0.018034683540463448, + -0.1602603942155838, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.024095136672258377, + 0.3724292814731598, + 0.362805038690567, + -0.10408814251422882, + 0.4185929298400879, + 0.2404315322637558, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588528633117676, + -0.05864826217293739, + -0.21433715522289276, + -0.048684898763895035, + -0.10687971860170364, + -0.22707581520080566, + -0.05777741223573685 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 64408 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 385, + "total_bytes": 40272, + "recomputable_bytes": 39040, + "bytes_by_category": { + "primitive:scan": 24704, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.5334811249995255, + "first_execute_seconds": 0.0026284579980710987, + "warm_seconds_median": 0.0006407500004570466, + "warm_seconds_mad": 6.637499973294325e-05, + "peak_rss_bytes": 339050496, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.4925411498404187e-06, + "valid": true, + "failure": null, + "worker_pid": 79835, + "parent_pid": 75973, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582334250211716, + 0.1626792997121811, + 0.4295191168785095, + 0.5784919857978821, + 0.1439048945903778, + 0.5593962669372559, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016313680680468678, + -0.04916875436902046, + -0.0713699460029602, + 0.04252967983484268, + 0.018034683540463448, + -0.1602603942155838, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.024095136672258377, + 0.3724292814731598, + 0.362805038690567, + -0.10408814251422882, + 0.4185929298400879, + 0.2404315322637558, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588528633117676, + -0.05864826217293739, + -0.21433715522289276, + -0.048684898763895035, + -0.10687971860170364, + -0.22707581520080566, + -0.05777741223573685 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 68248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 142, + "total_bytes": 5664, + "recomputable_bytes": 3728, + "bytes_by_category": { + "primitive:dot_general": 1984, + "constant": 1792, + "primitive:scan": 768, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:reshape": 96, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4302536659997713, + "first_execute_seconds": 0.014712916999997105, + "warm_seconds_median": 0.0038216249995457474, + "warm_seconds_mad": 0.0012971670003025793, + "peak_rss_bytes": 283672576, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 79931, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 29672 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 23008, + "recomputable_bytes": 22608, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:conj": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8731078749988228, + "first_execute_seconds": 0.0030014160001883283, + "warm_seconds_median": 0.001063749998138519, + "warm_seconds_mad": 0.00017054200361599214, + "peak_rss_bytes": 297975808, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 79961, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 668, + "temp_size_in_bytes": 32936 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 23008, + "recomputable_bytes": 22608, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:conj": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.942012125000474, + "first_execute_seconds": 0.007813416999852052, + "warm_seconds_median": 0.000688207997882273, + "warm_seconds_mad": 0.00011100000483565964, + "peak_rss_bytes": 277643264, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 80021, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 30928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 23008, + "recomputable_bytes": 22608, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:conj": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6328529579986935, + "first_execute_seconds": 0.01318787499985774, + "warm_seconds_median": 0.0009622090001357719, + "warm_seconds_mad": 2.1209001715760678e-05, + "peak_rss_bytes": 237273088, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 80122, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 688, + "temp_size_in_bytes": 11656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5408, + "recomputable_bytes": 4816, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.2041707079988555, + "first_execute_seconds": 0.004905542002234142, + "warm_seconds_median": 0.0010629170028551016, + "warm_seconds_mad": 0.0002972090042021591, + "peak_rss_bytes": 285966336, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 80148, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5408, + "recomputable_bytes": 4816, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.0267569169991475, + "first_execute_seconds": 0.0026410419995954726, + "warm_seconds_median": 0.0006632500007981434, + "warm_seconds_mad": 5.9334000980015844e-05, + "peak_rss_bytes": 295370752, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 80196, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 588, + "temp_size_in_bytes": 27480 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5408, + "recomputable_bytes": 4816, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1088, + "constant": 448, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.908248542000365, + "first_execute_seconds": 0.005283750000671716, + "warm_seconds_median": 0.0009100419993046671, + "warm_seconds_mad": 0.00010229200051981024, + "peak_rss_bytes": 262914048, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4009177173025447e-06, + "valid": true, + "failure": null, + "worker_pid": 80287, + "parent_pid": 75973, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267918050289154, + 0.4295189678668976, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016319658607244492, + -0.049169156700372696, + -0.07137016206979752, + 0.042529236525297165, + 0.018034661188721657, + -0.16026046872138977, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522235393524, + 0.37242913246154785, + 0.36280494928359985, + -0.10408815741539001, + 0.41859298944473267, + 0.2404315173625946, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588501811027527, + -0.05864841118454933, + -0.21433725953102112, + -0.04868509992957115, + -0.10687988996505737, + -0.22707578539848328, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 724, + "temp_size_in_bytes": 19952 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "block_width": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 19928, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 89, + "total_bytes": 3942, + "recomputable_bytes": 3670, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1088, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5692492500020307, + "first_execute_seconds": 0.003031290998478653, + "warm_seconds_median": 0.000648665998596698, + "warm_seconds_mad": 2.5417000870220363e-05, + "peak_rss_bytes": 278315008, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80341, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 33184 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 175, + "total_bytes": 21776, + "recomputable_bytes": 21248, + "bytes_by_category": { + "primitive:scan": 18336, + "primitive:dot_general": 1216, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.111553582999477, + "first_execute_seconds": 0.012841916999605019, + "warm_seconds_median": 0.0016677079984219745, + "warm_seconds_mad": 0.0007387500008917414, + "peak_rss_bytes": 264945664, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80373, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 28168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 175, + "total_bytes": 21776, + "recomputable_bytes": 21248, + "bytes_by_category": { + "primitive:scan": 18336, + "primitive:dot_general": 1216, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.510072625002067, + "first_execute_seconds": 0.003269832999649225, + "warm_seconds_median": 0.0007733329985057935, + "warm_seconds_mad": 7.345799895119853e-05, + "peak_rss_bytes": 285474816, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80477, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 24472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 175, + "total_bytes": 21776, + "recomputable_bytes": 21248, + "bytes_by_category": { + "primitive:scan": 18336, + "primitive:dot_general": 1216, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4154791250002745, + "first_execute_seconds": 0.002630083999974886, + "warm_seconds_median": 0.0005629590013995767, + "warm_seconds_mad": 4.8126003093784675e-05, + "peak_rss_bytes": 288309248, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80578, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 14480 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4512, + "recomputable_bytes": 3664, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.6444715409998025, + "first_execute_seconds": 0.009528124999633292, + "warm_seconds_median": 0.0008071669981291052, + "warm_seconds_mad": 5.9374004194978625e-05, + "peak_rss_bytes": 243515392, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80610, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 26072 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4512, + "recomputable_bytes": 3664, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 14, + 26 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 0, + 20 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 9, + 10 + ], + [ + 0, + 4 + ], + [ + 9, + 11 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 11 + ], + [ + 8, + 10 + ], + [ + 1, + 11 + ], + [ + 0, + 4 + ], + [ + 8, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 2, + 4 + ], + [ + 3, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.716596749996825, + "first_execute_seconds": 0.004553624999971362, + "warm_seconds_median": 0.000706124999851454, + "warm_seconds_mad": 9.108299855142832e-05, + "peak_rss_bytes": 291438592, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6767920837828238e-06, + "valid": true, + "failure": null, + "worker_pid": 80702, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267918050289154, + 0.42951899766921997, + 0.5784915685653687, + 0.14390477538108826, + 0.5593961477279663, + 0.43843233585357666, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321151633746922, + -0.0491691417992115, + -0.07137012481689453, + 0.0425293855369091, + 0.01803469844162464, + -0.16026027500629425, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409520000219345, + 0.3724291920661926, + 0.3628048002719879, + -0.10408811271190643, + 0.41859281063079834, + 0.2404312789440155, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.058648403733968735, + -0.21433715522289276, + -0.048685070127248764, + -0.10687978565692902, + -0.2270756959915161, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 28056 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6384, + "bulk_block_path_flops": 6384, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 20168, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 106, + "total_bytes": 4512, + "recomputable_bytes": 3664, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1088, + "constant": 704, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 27, + 28 + ], + [ + 12, + 18 + ], + [ + 4, + 5 + ], + [ + 15, + 16 + ], + [ + 35, + 37 + ], + [ + 8, + 9 + ], + [ + 15, + 16 + ], + [ + 9, + 10 + ], + [ + 25, + 30 + ], + [ + 13, + 14 + ], + [ + 0, + 24 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 14, + 15 + ], + [ + 17, + 23 + ], + [ + 9, + 10 + ], + [ + 5, + 17 + ], + [ + 2, + 5 + ], + [ + 10, + 16 + ], + [ + 3, + 5 + ], + [ + 8, + 13 + ], + [ + 2, + 10 + ], + [ + 5, + 11 + ], + [ + 8, + 9 + ], + [ + 4, + 16 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 13 + ], + [ + 9, + 12 + ], + [ + 1, + 10 + ], + [ + 0, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 3, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.613827625002159, + "first_execute_seconds": 0.03223937499933527, + "warm_seconds_median": 0.0009659580027800985, + "warm_seconds_mad": 0.0001180829967779573, + "peak_rss_bytes": 269287424, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4398271867701087e-06, + "valid": true, + "failure": null, + "worker_pid": 80769, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267922520637512, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.049169156700372696, + -0.0713701993227005, + 0.04252920299768448, + 0.01803465373814106, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.3724291920661926, + 0.36280494928359985, + -0.10408811271190643, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864845588803291, + -0.2143373191356659, + -0.048685137182474136, + -0.10687988251447678, + -0.2270757257938385, + -0.05777733772993088 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 40416 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10576, + "bulk_block_path_flops": 10576, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 22168, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 219, + "total_bytes": 24112, + "recomputable_bytes": 23456, + "bytes_by_category": { + "primitive:scan": 20224, + "primitive:dot_general": 1280, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 27, + 28 + ], + [ + 12, + 18 + ], + [ + 4, + 5 + ], + [ + 15, + 16 + ], + [ + 35, + 37 + ], + [ + 8, + 9 + ], + [ + 15, + 16 + ], + [ + 9, + 10 + ], + [ + 25, + 30 + ], + [ + 13, + 14 + ], + [ + 0, + 24 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 14, + 15 + ], + [ + 17, + 23 + ], + [ + 9, + 10 + ], + [ + 5, + 17 + ], + [ + 2, + 5 + ], + [ + 10, + 16 + ], + [ + 3, + 5 + ], + [ + 8, + 13 + ], + [ + 2, + 10 + ], + [ + 5, + 11 + ], + [ + 8, + 9 + ], + [ + 4, + 16 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 13 + ], + [ + 9, + 12 + ], + [ + 1, + 10 + ], + [ + 0, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 3, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.678840458000195, + "first_execute_seconds": 0.01158124999710708, + "warm_seconds_median": 0.001604041000973666, + "warm_seconds_mad": 0.0005192499993427191, + "peak_rss_bytes": 335527936, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4398271867701087e-06, + "valid": true, + "failure": null, + "worker_pid": 80856, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267922520637512, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.049169156700372696, + -0.0713701993227005, + 0.04252920299768448, + 0.01803465373814106, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.3724291920661926, + 0.36280494928359985, + -0.10408811271190643, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864845588803291, + -0.2143373191356659, + -0.048685137182474136, + -0.10687988251447678, + -0.2270757257938385, + -0.05777733772993088 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26376 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10576, + "bulk_block_path_flops": 10576, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 22168, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 219, + "total_bytes": 24112, + "recomputable_bytes": 23456, + "bytes_by_category": { + "primitive:scan": 20224, + "primitive:dot_general": 1280, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 27, + 28 + ], + [ + 12, + 18 + ], + [ + 4, + 5 + ], + [ + 15, + 16 + ], + [ + 35, + 37 + ], + [ + 8, + 9 + ], + [ + 15, + 16 + ], + [ + 9, + 10 + ], + [ + 25, + 30 + ], + [ + 13, + 14 + ], + [ + 0, + 24 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 14, + 15 + ], + [ + 17, + 23 + ], + [ + 9, + 10 + ], + [ + 5, + 17 + ], + [ + 2, + 5 + ], + [ + 10, + 16 + ], + [ + 3, + 5 + ], + [ + 8, + 13 + ], + [ + 2, + 10 + ], + [ + 5, + 11 + ], + [ + 8, + 9 + ], + [ + 4, + 16 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 13 + ], + [ + 9, + 12 + ], + [ + 1, + 10 + ], + [ + 0, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 3, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.3814198340005532, + "first_execute_seconds": 0.007371249997959239, + "warm_seconds_median": 0.0008259589994850103, + "warm_seconds_mad": 0.00012912400052300654, + "peak_rss_bytes": 249954304, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4398271867701087e-06, + "valid": true, + "failure": null, + "worker_pid": 80951, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267922520637512, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.049169156700372696, + -0.0713701993227005, + 0.04252920299768448, + 0.01803465373814106, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.3724291920661926, + 0.36280494928359985, + -0.10408811271190643, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864845588803291, + -0.2143373191356659, + -0.048685137182474136, + -0.10687988251447678, + -0.2270757257938385, + -0.05777733772993088 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 19160 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10576, + "bulk_block_path_flops": 10576, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 22168, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4384, + "recomputable_bytes": 3280, + "bytes_by_category": { + "primitive:scan": 1152, + "primitive:dot_general": 1088, + "constant": 960, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 30, + 37 + ], + [ + 14, + 16 + ], + [ + 1, + 2 + ], + [ + 27, + 28 + ], + [ + 12, + 18 + ], + [ + 4, + 5 + ], + [ + 15, + 16 + ], + [ + 35, + 37 + ], + [ + 8, + 9 + ], + [ + 15, + 16 + ], + [ + 9, + 10 + ], + [ + 25, + 30 + ], + [ + 13, + 14 + ], + [ + 0, + 24 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 14, + 15 + ], + [ + 17, + 23 + ], + [ + 9, + 10 + ], + [ + 5, + 17 + ], + [ + 2, + 5 + ], + [ + 10, + 16 + ], + [ + 3, + 5 + ], + [ + 8, + 13 + ], + [ + 2, + 10 + ], + [ + 5, + 11 + ], + [ + 8, + 9 + ], + [ + 4, + 16 + ], + [ + 0, + 13 + ], + [ + 6, + 11 + ], + [ + 9, + 13 + ], + [ + 9, + 12 + ], + [ + 1, + 10 + ], + [ + 0, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 3, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.7589951250010927, + "first_execute_seconds": 0.004156499999226071, + "warm_seconds_median": 0.0008064159992500208, + "warm_seconds_mad": 9.024999963003211e-05, + "peak_rss_bytes": 355074048, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4398271867701087e-06, + "valid": true, + "failure": null, + "worker_pid": 81011, + "parent_pid": 75973, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582295134663582, + 0.16267922520637512, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321137081831694, + -0.049169156700372696, + -0.0713701993227005, + 0.04252920299768448, + 0.01803465373814106, + -0.1602603644132614, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.3724291920661926, + 0.36280494928359985, + -0.10408811271190643, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864845588803291, + -0.2143373191356659, + -0.048685137182474136, + -0.10687988251447678, + -0.2270757257938385, + -0.05777733772993088 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 30488 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 10576, + "bulk_block_path_flops": 10576, + "tail_path_flops": 0, + "last_path_flops": 520, + "estimated_energy_flops": 22168, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 114, + "total_bytes": 4384, + "recomputable_bytes": 3280, + "bytes_by_category": { + "primitive:scan": 1152, + "primitive:dot_general": 1088, + "constant": 960, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:reshape": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 21, + 28 + ], + [ + 42, + 44 + ], + [ + 28, + 35 + ], + [ + 22, + 56 + ], + [ + 39, + 45 + ], + [ + 14, + 15 + ], + [ + 14, + 19 + ], + [ + 2, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 14, + 41 + ], + [ + 1, + 2 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 1, + 42 + ], + [ + 13, + 33 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 27, + 35 + ], + [ + 34, + 37 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 30 + ], + [ + 23, + 28 + ], + [ + 13, + 19 + ], + [ + 18, + 28 + ], + [ + 9, + 10 + ], + [ + 0, + 18 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 3, + 4 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 2, + 14 + ], + [ + 0, + 9 + ], + [ + 9, + 14 + ], + [ + 8, + 11 + ], + [ + 5, + 13 + ], + [ + 1, + 19 + ], + [ + 1, + 12 + ], + [ + 12, + 17 + ], + [ + 14, + 16 + ], + [ + 0, + 12 + ], + [ + 13, + 15 + ], + [ + 4, + 10 + ], + [ + 11, + 13 + ], + [ + 0, + 10 + ], + [ + 3, + 8 + ], + [ + 0, + 3 + ], + [ + 3, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 6 + ], + [ + 2, + 6 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 3 + ], + [ + 20, + 21 + ], + [ + 11, + 18 + ], + [ + 12, + 13 + ], + [ + 20, + 23 + ], + [ + 4, + 9 + ], + [ + 1, + 4 + ], + [ + 6, + 7 + ], + [ + 13, + 14 + ], + [ + 14, + 18 + ], + [ + 0, + 16 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 3, + 8 + ], + [ + 0, + 6 + ], + [ + 1, + 6 + ], + [ + 2, + 7 + ], + [ + 8, + 9 + ], + [ + 0, + 2 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6808148749987595, + "first_execute_seconds": 0.0022739999985788018, + "warm_seconds_median": 0.0005654160013364162, + "warm_seconds_mad": 8.233399785240181e-05, + "peak_rss_bytes": 325468160, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.4613770720263037e-06, + "valid": true, + "failure": null, + "worker_pid": 81078, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267922520637512, + 0.42951905727386475, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.438432514667511, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016325616161338985, + -0.04916922375559807, + -0.0713701993227005, + 0.04252926632761955, + 0.018034687265753746, + -0.160260409116745, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095196276903152, + 0.37242916226387024, + 0.36280494928359985, + -0.10408811271190643, + 0.4185928404331207, + 0.24043133854866028, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588510751724243, + -0.05864838883280754, + -0.21433734893798828, + -0.048685114830732346, + -0.10687986016273499, + -0.22707578539848328, + -0.05777733027935028 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 14848, + "bulk_block_path_flops": 14848, + "tail_path_flops": 6384, + "last_path_flops": 520, + "estimated_energy_flops": 22248, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 384, + "total_bytes": 25968, + "recomputable_bytes": 24736, + "bytes_by_category": { + "primitive:scan": 13952, + "primitive:dot_general": 6560, + "primitive:conj": 976, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 208, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "column_paths": [ + [ + [ + 3, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 7 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 21, + 28 + ], + [ + 42, + 44 + ], + [ + 28, + 35 + ], + [ + 22, + 56 + ], + [ + 39, + 45 + ], + [ + 14, + 15 + ], + [ + 14, + 19 + ], + [ + 2, + 9 + ], + [ + 6, + 7 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 14, + 41 + ], + [ + 1, + 2 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 1, + 42 + ], + [ + 13, + 33 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 27, + 35 + ], + [ + 34, + 37 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 1, + 30 + ], + [ + 23, + 28 + ], + [ + 13, + 19 + ], + [ + 18, + 28 + ], + [ + 9, + 10 + ], + [ + 0, + 18 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 3, + 4 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 2, + 14 + ], + [ + 0, + 9 + ], + [ + 9, + 14 + ], + [ + 8, + 11 + ], + [ + 5, + 13 + ], + [ + 1, + 19 + ], + [ + 1, + 12 + ], + [ + 12, + 17 + ], + [ + 14, + 16 + ], + [ + 0, + 12 + ], + [ + 13, + 15 + ], + [ + 4, + 10 + ], + [ + 11, + 13 + ], + [ + 0, + 10 + ], + [ + 3, + 8 + ], + [ + 0, + 3 + ], + [ + 3, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 6 + ], + [ + 2, + 6 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 3 + ], + [ + 20, + 21 + ], + [ + 11, + 18 + ], + [ + 12, + 13 + ], + [ + 20, + 23 + ], + [ + 4, + 9 + ], + [ + 1, + 4 + ], + [ + 6, + 7 + ], + [ + 13, + 14 + ], + [ + 14, + 18 + ], + [ + 0, + 16 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 3, + 8 + ], + [ + 0, + 6 + ], + [ + 1, + 6 + ], + [ + 2, + 7 + ], + [ + 8, + 9 + ], + [ + 0, + 2 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 8, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.3976321250011097, + "first_execute_seconds": 0.003015040998434415, + "warm_seconds_median": 0.0006671670016658027, + "warm_seconds_mad": 4.291699951863848e-05, + "peak_rss_bytes": 365953024, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.4613770720263037e-06, + "valid": true, + "failure": null, + "worker_pid": 81130, + "parent_pid": 75973, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267922520637512, + 0.42951905727386475, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.438432514667511, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016325616161338985, + -0.04916922375559807, + -0.0713701993227005, + 0.04252926632761955, + 0.018034687265753746, + -0.160260409116745, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095196276903152, + 0.37242916226387024, + 0.36280494928359985, + -0.10408811271190643, + 0.4185928404331207, + 0.24043133854866028, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588510751724243, + -0.05864838883280754, + -0.21433734893798828, + -0.048685114830732346, + -0.10687986016273499, + -0.22707578539848328, + -0.05777733027935028 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 600, + "temp_size_in_bytes": 31384 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 14848, + "bulk_block_path_flops": 14848, + "tail_path_flops": 6384, + "last_path_flops": 520, + "estimated_energy_flops": 22248, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 142, + "total_bytes": 5216, + "recomputable_bytes": 3280, + "bytes_by_category": { + "constant": 1792, + "primitive:dot_general": 1088, + "primitive:scan": 768, + "primitive:transpose": 384, + "primitive:stack": 320, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 112, + "primitive:reshape": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:slice": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 2.1857789579989912, + "first_execute_seconds": 0.00268566700106021, + "warm_seconds_median": 0.0003285000020696316, + "warm_seconds_mad": 1.6499998309882358e-05, + "peak_rss_bytes": 263127040, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 76001, + "parent_pid": 75973, + "energy": -7.857045650482178, + "gradient": [ + [ + [ + 0.015582224354147911, + 0.16267919540405273, + 0.4295193552970886, + 0.5784921646118164, + 0.14390496909618378, + 0.5593967437744141, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780269607901573, + 0.0001632701460039243, + -0.049169089645147324, + -0.07136998325586319, + 0.042529381811618805, + 0.018034717068076134, + -0.1602606475353241, + -0.12683428823947906 + ] + ], + [ + [ + -0.18359225988388062, + -0.024095401167869568, + 0.3724295198917389, + 0.36280566453933716, + -0.10408809781074524, + 0.41859304904937744, + 0.24043166637420654, + 0.0 + ], + [ + 0.04162909463047981, + 0.08588515222072601, + -0.058648478239774704, + -0.21433764696121216, + -0.04868509992957115, + -0.10688084363937378, + -0.22707657516002655, + -0.05777782201766968 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 376, + "temp_size_in_bytes": 149896 + }, + "static_estimate": { + "parameter_count": 30, + "state_bytes": 2048, + "saved_boundary_upper_bound_bytes": 6144, + "estimated_forward_gate_applications": 30, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-direct-tn-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-direct-tn-findings.md new file mode 100644 index 000000000..8ce2142a6 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-direct-tn-findings.md @@ -0,0 +1,149 @@ +# VQETape Direct Tensor-Network Findings + +**Date:** 2026-07-28 +**Backend:** JAX 0.11.0 CPU on macOS +**Workload:** 3 qubits, 2 RZZ–RX layers, exact TFIM energy and full gradient +**Candidates:** 3 paths × 3 reverse-tape policies = 9 + +## Methodological Correction + +The first attempted run re-searched stochastic paths independently for every +tape policy. That made path and rematerialization effects inseparable and the +run was rejected. + +The retained report serializes one explicit contraction list per path strategy +and reuses it for `none`, `all`, and threshold rematerialization policies. +Within each strategy, path FLOPs and largest-intermediate size are therefore +identical across tape policies. + +## Correctness + +- Valid candidates: **9/9** +- Maximum energy absolute error: below the `complex64` tolerance +- Maximum gradient relative L2 error: below the `complex64` tolerance +- Every candidate computes the full padded parameter gradient. + +## Path Results + +| Path | FLOPs | Largest intermediate | No-remat JAX temp | +|---|---:|---:|---:| +| `greedy` | 1,048 | 16 elements | 9,988 bytes | +| `auto-hq` | 1,008 | 16 elements | 8,128 bytes | +| `random-greedy` | 1,008 | 16 elements | 8,128 bytes | + +The better path reduced compiler-reported temporary memory by: + +\[ +1-\frac{8128}{9988}\approx 18.6\%. +\] + +This supports path-sensitive AD memory behavior even when the largest forward +intermediate is unchanged. + +## Fixed-Path Tape Results + +| Path | Policy | Remat steps | JAX temp | +|---|---|---:|---:| +| `auto-hq` | none | 0 | 8,128 bytes | +| `auto-hq` | all | 28 | 8,192 bytes | +| `auto-hq` | threshold 64 | 21 | 8,256 bytes | +| `greedy` | none | 0 | 9,988 bytes | +| `greedy` | all | 28 | 9,988 bytes | +| `greedy` | threshold 64 | 19 | 9,924 bytes | + +Checkpointing individual pairwise contractions did not produce a meaningful +memory improvement. On the better path it increased compiler temporary memory. +The 64-byte decrease on the greedy threshold candidate is too small to support +a substantive claim. + +## Pareto Selection + +For \(K=100\), the selected candidate was: + +```text +random-greedy + no rematerialization +``` + +The selected path used 1,008 estimated FLOPs, a largest intermediate of 16 +elements, and 8,128 compiler temporary bytes. No joint path-plus-remat +candidate beat the best no-remat path. + +## Decision-Gate Audit + +| Gate | Result | Evidence | +|---|---|---| +| At least two path metrics | PASS | 1,048 vs 1,008 FLOPs | +| Path changes measured/compiler behavior | PASS | 18.6% JAX temp difference | +| Fixed-path step remat changes memory materially | FAIL | none/all equal or worse; threshold change negligible | +| Joint path/remat gives a new strong Pareto point | FAIL | selected candidate uses no remat | + +## Interpretation + +The failure is informative. A contraction output is the input of its parent. +Checkpointing only the individual contraction does not necessarily let reverse +mode discard the surrounding subtree state: the checkpointed function still +needs its operands, and those operands may themselves be expensive +intermediates retained by the outer graph. + +The next rematerialization unit should therefore be a contraction subtree or +block: + +\[ +\text{saved subtree boundary} +\longrightarrow +\text{recompute internal contraction sequence during backward}. +\] + +The next phase should compare: + +1. fixed path with no rematerialization; +2. fixed path with whole-subtree rematerialization; +3. path partitioned into multiple blocks; +4. joint path and block-boundary selection. + +CPU process RSS remains dominated by JAX/runtime overhead and is not evidence +of GPU peak-memory behavior. + +## Additional Block-Remat Diagnostics + +Two coarser exact policies were tested on the fixed greedy path: + +| Policy | Remat unit | JAX temp | Compile | Warm median | +|---|---|---:|---:|---:| +| none | none | 9,988 bytes | 16.03 s | 0.365 ms | +| term | one complete Pauli-term contraction | 10,888 bytes | 21.09 s | 0.434 ms | +| objective | complete scalar TFIM objective | 11,332 bytes | 16.76 s | 0.562 ms | + +They preserve full-gradient correctness but also fail to reduce +compiler-reported temporary memory at this size. They remain available as +diagnostic policies but are excluded from the default candidate enumeration. + +## Contraction-Subtree Checkpoint Diagnostics + +The explicit opt_einsum path was reconstructed as a contraction tree. Nodes at +one root-relative depth form an antichain, so each selected node can be treated +as one checkpointed function whose inputs are the original leaf tensors of +that subtree. This is materially coarser than checkpointing one pairwise +contraction. + +All three subtree depths preserved the exact energy and full gradient. On the +same fixed greedy path: + +| Policy | Checkpointed subtrees | JAX temp | Compile | Warm median | +|---|---:|---:|---:|---:| +| none | 0 | 9,988 bytes | 33.63 s | 0.525 ms | +| subtree depth 0 | 1 | 11,652 bytes | 35.32 s | 0.479 ms | +| subtree depth 1 | 2 | 11,588 bytes | 44.90 s | 0.505 ms | +| subtree depth 2 | 3 | 11,460 bytes | 49.42 s | 0.827 ms | + +Whole-subtree rematerialization therefore also fails the decision gate on this +workload. It increases compiler temporary memory by 14.7–16.7% and increases +compilation cost. The depth-0 warm-time change is below the level at which a +single small CPU benchmark can support a speed claim. + +The negative result narrows the design: checkpoint granularity cannot be +chosen from the forward contraction tree alone. VQETape needs to inspect the +actual residuals selected by JAX's reverse-mode transform and associate their +bytes with the operations that produce them. Only then can it target the +dominant saved values instead of assuming that forward-tree substructures are +the tape bottleneck. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-direct-tn-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-direct-tn-report.json new file mode 100644 index 000000000..35b21aa2d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-direct-tn-report.json @@ -0,0 +1,2725 @@ +{ + "request": { + "spec": { + "nqubits": 3, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 15.455629582997062, + "first_execute_seconds": 0.003372584000317147, + "warm_seconds_median": 0.0004693749979196582, + "warm_seconds_mad": 4.580033419188112e-07, + "peak_rss_bytes": 195362816, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 38053, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8128 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "max_step_output_bytes": 128 + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "output-ge-threshold", + "threshold_bytes": 64, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 17.155430333001277, + "first_execute_seconds": 0.004721458000858547, + "warm_seconds_median": 0.0002936670025519561, + "warm_seconds_mad": 3.437500345171429e-05, + "peak_rss_bytes": 255131648, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 37239, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8256 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 21, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "all", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 17.868078208000952, + "first_execute_seconds": 0.003464290999545483, + "warm_seconds_median": 0.0003485830020508729, + "warm_seconds_mad": 4.641600025934167e-05, + "peak_rss_bytes": 198426624, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 37465, + "parent_pid": 36472, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 28, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 17.904800958000124, + "first_execute_seconds": 0.004325666999648092, + "warm_seconds_median": 0.0003017919989360962, + "warm_seconds_mad": 2.4666998797329143e-05, + "peak_rss_bytes": 182566912, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 37638, + "parent_pid": 36472, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 15.455629582997062, + "first_execute_seconds": 0.003372584000317147, + "warm_seconds_median": 0.0004693749979196582, + "warm_seconds_mad": 4.580033419188112e-07, + "peak_rss_bytes": 195362816, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 38053, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8128 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "output-ge-threshold", + "threshold_bytes": 64, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 16.34499458299979, + "first_execute_seconds": 0.002857292001863243, + "warm_seconds_median": 0.00038266599949565716, + "warm_seconds_mad": 2.8750000637955964e-06, + "peak_rss_bytes": 228474880, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 38150, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8256 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 21, + "max_step_output_bytes": 128 + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "all", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 26.346926333000738, + "first_execute_seconds": 0.006736625000485219, + "warm_seconds_median": 0.0004024579975521192, + "warm_seconds_mad": 1.604200224392116e-05, + "peak_rss_bytes": 183468032, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 36525, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8192 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 28, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 21.295161999998527, + "first_execute_seconds": 0.006142874997749459, + "warm_seconds_median": 0.00038762500116718, + "warm_seconds_mad": 6.600000051548705e-05, + "peak_rss_bytes": 191053824, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 36865, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8128 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "output-ge-threshold", + "threshold_bytes": 64, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 17.155430333001277, + "first_execute_seconds": 0.004721458000858547, + "warm_seconds_median": 0.0002936670025519561, + "warm_seconds_mad": 3.437500345171429e-05, + "peak_rss_bytes": 255131648, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 37239, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8256 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 21, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "all", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 17.868078208000952, + "first_execute_seconds": 0.003464290999545483, + "warm_seconds_median": 0.0003485830020508729, + "warm_seconds_mad": 4.641600025934167e-05, + "peak_rss_bytes": 198426624, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 37465, + "parent_pid": 36472, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 28, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 17.904800958000124, + "first_execute_seconds": 0.004325666999648092, + "warm_seconds_median": 0.0003017919989360962, + "warm_seconds_mad": 2.4666998797329143e-05, + "peak_rss_bytes": 182566912, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 37638, + "parent_pid": 36472, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "output-ge-threshold", + "threshold_bytes": 64, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 20.325309750001907, + "first_execute_seconds": 0.016236625000601634, + "warm_seconds_median": 0.008380250001209788, + "warm_seconds_mad": 0.0064965410019794945, + "peak_rss_bytes": 190824448, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 37747, + "parent_pid": 36472, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9924 + }, + "static_estimate": { + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 19, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "all", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 19.517473083997174, + "first_execute_seconds": 0.0030835420002404135, + "warm_seconds_median": 0.0003207500012649689, + "warm_seconds_mad": 3.504099731799215e-05, + "peak_rss_bytes": 188203008, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 37921, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8192 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 28, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 15.455629582997062, + "first_execute_seconds": 0.003372584000317147, + "warm_seconds_median": 0.0004693749979196582, + "warm_seconds_mad": 4.580033419188112e-07, + "peak_rss_bytes": 195362816, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 38053, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8128 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "max_step_output_bytes": 128 + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "output-ge-threshold", + "threshold_bytes": 64, + "path": [ + [ + 4, + 16 + ], + [ + 3, + 27 + ], + [ + 1, + 4 + ], + [ + 2, + 12 + ], + [ + 9, + 20 + ], + [ + 9, + 19 + ], + [ + 1, + 2 + ], + [ + 8, + 18 + ], + [ + 0, + 16 + ], + [ + 1, + 17 + ], + [ + 6, + 16 + ], + [ + 4, + 11 + ], + [ + 10, + 15 + ], + [ + 3, + 11 + ], + [ + 3, + 13 + ], + [ + 8, + 12 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "representation": "direct_tn" + }, + "compile_seconds": 16.34499458299979, + "first_execute_seconds": 0.002857292001863243, + "warm_seconds_median": 0.00038266599949565716, + "warm_seconds_mad": 2.8750000637955964e-06, + "peak_rss_bytes": 228474880, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.661745839905413e-07, + "valid": true, + "failure": null, + "worker_pid": 38150, + "parent_pid": 36472, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209730003029108, + 0.0010320665314793587, + 0.013129225932061672 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8256 + }, + "static_estimate": { + "path_flops": 1008, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 21, + "max_step_output_bytes": 128 + } + } + ], + "measurement_notes": { + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-direct-tn-n10-d4.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-direct-tn-n10-d4.json new file mode 100644 index 000000000..eac78618b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-direct-tn-n10-d4.json @@ -0,0 +1,1825 @@ +{ + "request": { + "spec": { + "nqubits": 10, + "depth": 4, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 8589934592, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 33, + "timeout_seconds": 900.0 + }, + "selection_scope": { + "strategy": "greedy", + "enumerated_candidate_count": 8, + "fixed_candidate": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 78 + ], + [ + 2, + 77 + ], + [ + 2, + 76 + ], + [ + 2, + 75 + ], + [ + 2, + 74 + ], + [ + 2, + 73 + ], + [ + 2, + 72 + ], + [ + 2, + 71 + ], + [ + 2, + 70 + ], + [ + 0, + 146 + ], + [ + 0, + 153 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 2, + 12 + ], + [ + 3, + 11 + ], + [ + 3, + 10 + ], + [ + 3, + 9 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 13, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 14, + 24 + ], + [ + 15, + 23 + ], + [ + 15, + 22 + ], + [ + 15, + 21 + ], + [ + 15, + 20 + ], + [ + 15, + 19 + ], + [ + 15, + 18 + ], + [ + 15, + 17 + ], + [ + 15, + 16 + ], + [ + 15, + 25 + ], + [ + 16, + 24 + ], + [ + 16, + 23 + ], + [ + 16, + 22 + ], + [ + 16, + 21 + ], + [ + 16, + 20 + ], + [ + 16, + 19 + ], + [ + 16, + 18 + ], + [ + 16, + 17 + ], + [ + 3, + 26 + ], + [ + 3, + 25 + ], + [ + 3, + 24 + ], + [ + 3, + 23 + ], + [ + 3, + 22 + ], + [ + 3, + 21 + ], + [ + 3, + 20 + ], + [ + 3, + 19 + ], + [ + 3, + 18 + ], + [ + 3, + 17 + ], + [ + 0, + 16 + ], + [ + 2, + 22 + ], + [ + 0, + 31 + ], + [ + 0, + 38 + ], + [ + 0, + 54 + ], + [ + 0, + 61 + ], + [ + 1, + 68 + ], + [ + 1, + 67 + ], + [ + 1, + 66 + ], + [ + 1, + 65 + ], + [ + 1, + 64 + ], + [ + 1, + 63 + ], + [ + 1, + 62 + ], + [ + 1, + 61 + ], + [ + 0, + 60 + ], + [ + 0, + 67 + ], + [ + 14, + 66 + ], + [ + 15, + 80 + ], + [ + 14, + 64 + ], + [ + 38, + 78 + ], + [ + 54, + 74 + ], + [ + 60, + 73 + ], + [ + 37, + 75 + ], + [ + 70, + 74 + ], + [ + 0, + 70 + ], + [ + 58, + 72 + ], + [ + 20, + 71 + ], + [ + 6, + 67 + ], + [ + 57, + 69 + ], + [ + 41, + 68 + ], + [ + 0, + 66 + ], + [ + 11, + 66 + ], + [ + 53, + 65 + ], + [ + 24, + 64 + ], + [ + 5, + 62 + ], + [ + 30, + 62 + ], + [ + 50, + 61 + ], + [ + 43, + 60 + ], + [ + 0, + 58 + ], + [ + 9, + 58 + ], + [ + 14, + 57 + ], + [ + 20, + 56 + ], + [ + 4, + 54 + ], + [ + 25, + 54 + ], + [ + 30, + 53 + ], + [ + 42, + 52 + ], + [ + 30, + 42 + ], + [ + 30, + 41 + ], + [ + 30, + 40 + ], + [ + 30, + 39 + ], + [ + 30, + 38 + ], + [ + 30, + 37 + ], + [ + 0, + 38 + ], + [ + 7, + 44 + ], + [ + 11, + 43 + ], + [ + 16, + 42 + ], + [ + 3, + 34 + ], + [ + 20, + 40 + ], + [ + 32, + 39 + ], + [ + 31, + 36 + ], + [ + 29, + 37 + ], + [ + 19, + 36 + ], + [ + 14, + 35 + ], + [ + 22, + 27 + ], + [ + 30, + 33 + ], + [ + 3, + 30 + ], + [ + 17, + 31 + ], + [ + 24, + 30 + ], + [ + 24, + 25 + ], + [ + 3, + 27 + ], + [ + 16, + 27 + ], + [ + 3, + 26 + ], + [ + 15, + 25 + ], + [ + 23, + 24 + ], + [ + 15, + 23 + ], + [ + 19, + 22 + ], + [ + 19, + 21 + ], + [ + 18, + 20 + ], + [ + 17, + 19 + ], + [ + 16, + 18 + ], + [ + 15, + 17 + ], + [ + 15, + 16 + ], + [ + 11, + 15 + ], + [ + 7, + 14 + ], + [ + 3, + 13 + ], + [ + 0, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 8 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + } + }, + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 27.529738140059635, + "first_execute_seconds": 1.2978318009991199, + "warm_seconds_median": 0.003326412057504058, + "warm_seconds_mad": 2.3579224944114685e-05, + "peak_rss_bytes": 491757568, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 50912, + "parent_pid": 50855, + "energy": -9.808083534240723, + "gradient": [ + [ + [ + -0.46896475553512573, + -0.47195032238960266, + -0.2466237097978592, + -0.07784716784954071, + -0.14211151003837585, + -0.17730174958705902, + -0.09080648422241211, + 0.4569324254989624, + 0.31365102529525757, + 0.0 + ], + [ + -0.03977549076080322, + 0.010964959859848022, + -0.0091685950756073, + -0.06426870822906494, + 0.1547035574913025, + 0.06592035293579102, + -0.0835530161857605, + -0.053081072866916656, + -0.23858025670051575, + -0.17688752710819244 + ] + ], + [ + [ + -0.6360300183296204, + -0.4413711428642273, + -0.29090601205825806, + -0.20150905847549438, + -0.07731978595256805, + -0.2488023340702057, + -0.19054211676120758, + 0.5278798341751099, + 0.29221755266189575, + 0.0 + ], + [ + 0.0035268664360046387, + 0.004425346851348877, + 0.07154648751020432, + 0.15612752735614777, + 0.1475711464881897, + -0.039509356021881104, + 0.05187875032424927, + 0.08914613723754883, + -0.41748419404029846, + -0.3584825396537781 + ] + ], + [ + [ + -0.48680824041366577, + -0.38730189204216003, + -0.24821968376636505, + -0.2085868865251541, + 0.012510910630226135, + 0.05888683348894119, + -0.10480844974517822, + 0.41986727714538574, + 0.2853373885154724, + 0.0 + ], + [ + 0.0653945803642273, + 0.03318902477622032, + 0.14355331659317017, + 0.20173117518424988, + 0.11944940686225891, + -0.0040318965911865234, + 0.008243262767791748, + -0.05483078956604004, + -0.41754376888275146, + -0.26748746633529663 + ] + ], + [ + [ + -0.4100140929222107, + -0.2515494227409363, + -0.16888168454170227, + -0.33892822265625, + -0.0039023905992507935, + 0.0305059552192688, + -0.031699441373348236, + 0.5763920545578003, + 0.45810770988464355, + 0.0 + ], + [ + 0.17258673906326294, + 0.23259592056274414, + 0.09938420355319977, + 0.16793332993984222, + 0.11280322074890137, + -0.03761249780654907, + 0.05773849040269852, + -0.1922493577003479, + -0.5106223821640015, + -0.26233968138694763 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 1546936, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 1147112 + }, + "static_estimate": { + "parameter_count": 76, + "state_bytes": 8192, + "saved_boundary_upper_bound_bytes": 40960, + "estimated_forward_gate_applications": 76, + "estimated_recompute_gate_applications": 0 + } + }, + "candidate": { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 78 + ], + [ + 2, + 77 + ], + [ + 2, + 76 + ], + [ + 2, + 75 + ], + [ + 2, + 74 + ], + [ + 2, + 73 + ], + [ + 2, + 72 + ], + [ + 2, + 71 + ], + [ + 2, + 70 + ], + [ + 0, + 146 + ], + [ + 0, + 153 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 2, + 12 + ], + [ + 3, + 11 + ], + [ + 3, + 10 + ], + [ + 3, + 9 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 13, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 14, + 24 + ], + [ + 15, + 23 + ], + [ + 15, + 22 + ], + [ + 15, + 21 + ], + [ + 15, + 20 + ], + [ + 15, + 19 + ], + [ + 15, + 18 + ], + [ + 15, + 17 + ], + [ + 15, + 16 + ], + [ + 15, + 25 + ], + [ + 16, + 24 + ], + [ + 16, + 23 + ], + [ + 16, + 22 + ], + [ + 16, + 21 + ], + [ + 16, + 20 + ], + [ + 16, + 19 + ], + [ + 16, + 18 + ], + [ + 16, + 17 + ], + [ + 3, + 26 + ], + [ + 3, + 25 + ], + [ + 3, + 24 + ], + [ + 3, + 23 + ], + [ + 3, + 22 + ], + [ + 3, + 21 + ], + [ + 3, + 20 + ], + [ + 3, + 19 + ], + [ + 3, + 18 + ], + [ + 3, + 17 + ], + [ + 0, + 16 + ], + [ + 2, + 22 + ], + [ + 0, + 31 + ], + [ + 0, + 38 + ], + [ + 0, + 54 + ], + [ + 0, + 61 + ], + [ + 1, + 68 + ], + [ + 1, + 67 + ], + [ + 1, + 66 + ], + [ + 1, + 65 + ], + [ + 1, + 64 + ], + [ + 1, + 63 + ], + [ + 1, + 62 + ], + [ + 1, + 61 + ], + [ + 0, + 60 + ], + [ + 0, + 67 + ], + [ + 14, + 66 + ], + [ + 15, + 80 + ], + [ + 14, + 64 + ], + [ + 38, + 78 + ], + [ + 54, + 74 + ], + [ + 60, + 73 + ], + [ + 37, + 75 + ], + [ + 70, + 74 + ], + [ + 0, + 70 + ], + [ + 58, + 72 + ], + [ + 20, + 71 + ], + [ + 6, + 67 + ], + [ + 57, + 69 + ], + [ + 41, + 68 + ], + [ + 0, + 66 + ], + [ + 11, + 66 + ], + [ + 53, + 65 + ], + [ + 24, + 64 + ], + [ + 5, + 62 + ], + [ + 30, + 62 + ], + [ + 50, + 61 + ], + [ + 43, + 60 + ], + [ + 0, + 58 + ], + [ + 9, + 58 + ], + [ + 14, + 57 + ], + [ + 20, + 56 + ], + [ + 4, + 54 + ], + [ + 25, + 54 + ], + [ + 30, + 53 + ], + [ + 42, + 52 + ], + [ + 30, + 42 + ], + [ + 30, + 41 + ], + [ + 30, + 40 + ], + [ + 30, + 39 + ], + [ + 30, + 38 + ], + [ + 30, + 37 + ], + [ + 0, + 38 + ], + [ + 7, + 44 + ], + [ + 11, + 43 + ], + [ + 16, + 42 + ], + [ + 3, + 34 + ], + [ + 20, + 40 + ], + [ + 32, + 39 + ], + [ + 31, + 36 + ], + [ + 29, + 37 + ], + [ + 19, + 36 + ], + [ + 14, + 35 + ], + [ + 22, + 27 + ], + [ + 30, + 33 + ], + [ + 3, + 30 + ], + [ + 17, + 31 + ], + [ + 24, + 30 + ], + [ + 24, + 25 + ], + [ + 3, + 27 + ], + [ + 16, + 27 + ], + [ + 3, + 26 + ], + [ + 15, + 25 + ], + [ + 23, + 24 + ], + [ + 15, + 23 + ], + [ + 19, + 22 + ], + [ + 19, + 21 + ], + [ + 18, + 20 + ], + [ + 17, + 19 + ], + [ + 16, + 18 + ], + [ + 15, + 17 + ], + [ + 15, + 16 + ], + [ + 11, + 15 + ], + [ + 7, + 14 + ], + [ + 3, + 13 + ], + [ + 0, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 8 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 45.654404842993245, + "first_execute_seconds": 0.1375827321317047, + "warm_seconds_median": 0.005049813073128462, + "warm_seconds_mad": 6.686011329293251e-05, + "peak_rss_bytes": 602914816, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 54024, + "parent_pid": 50855, + "energy": -9.808084487915039, + "gradient": [ + [ + [ + -0.46896475553512573, + -0.4719505310058594, + -0.24662381410598755, + -0.07784724235534668, + -0.14211158454418182, + -0.1773015856742859, + -0.09080655127763748, + 0.4569324254989624, + 0.31365111470222473, + 0.0 + ], + [ + -0.039775505661964417, + 0.010965108871459961, + -0.00916871428489685, + -0.064268559217453, + 0.15470357239246368, + 0.06592054665088654, + -0.0835530012845993, + -0.05308099836111069, + -0.23858016729354858, + -0.17688758671283722 + ] + ], + [ + [ + -0.6360300183296204, + -0.44137126207351685, + -0.2909061908721924, + -0.20150911808013916, + -0.07731971144676208, + -0.2488023340702057, + -0.1905422955751419, + 0.5278798937797546, + 0.292217493057251, + 0.0 + ], + [ + 0.003526926040649414, + 0.004425451159477234, + 0.07154665142297745, + 0.1561276614665985, + 0.14757110178470612, + -0.03950923681259155, + 0.05187872052192688, + 0.08914610743522644, + -0.4174840748310089, + -0.35848259925842285 + ] + ], + [ + [ + -0.4868083596229553, + -0.38730207085609436, + -0.24821990728378296, + -0.2085869312286377, + 0.012510858476161957, + 0.05888679623603821, + -0.10480854660272598, + 0.4198673665523529, + 0.28533729910850525, + 0.0 + ], + [ + 0.0653948187828064, + 0.03318915143609047, + 0.1435534954071045, + 0.20173121988773346, + 0.11944957077503204, + -0.0040318965911865234, + 0.008243203163146973, + -0.0548308789730072, + -0.4175436496734619, + -0.26748770475387573 + ] + ], + [ + [ + -0.4100141227245331, + -0.25154948234558105, + -0.16888175904750824, + -0.3389282524585724, + -0.0039023980498313904, + 0.030506044626235962, + -0.03169946372509003, + 0.5763920545578003, + 0.4581077992916107, + 0.0 + ], + [ + 0.17258653044700623, + 0.23259609937667847, + 0.09938418120145798, + 0.1679333746433258, + 0.11280319839715958, + -0.03761250525712967, + 0.05773845687508583, + -0.19224928319454193, + -0.5106224417686462, + -0.2623395323753357 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 2405496, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 445776 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 182, + "input_tensor_elements": 1824, + "path_flops": 510704, + "contractions_per_energy": 1, + "estimated_energy_flops": 510704, + "estimated_energy_tensor_bindings": 182, + "largest_intermediate_elements": 3072, + "contraction_steps": 181, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 24576, + "residual_profile": { + "residual_count": 1068, + "total_bytes": 355472, + "recomputable_bytes": 353344, + "bytes_by_category": { + "primitive:dot_general": 331392, + "jitted:_diag": 10368, + "primitive:conj": 4896, + "primitive:reshape": 3456, + "literal": 2112, + "primitive:concatenate": 1152, + "primitive:exp": 1152, + "primitive:cos": 320, + "primitive:sin": 320, + "primitive:scatter": 288, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + "correctness": { + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 4.183984200290997e-07, + "tolerance_passed": true + }, + "hpc_runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "cuda_visible_devices": "0", + "jax_default_matmul_precision": "highest", + "slurm_job_id": "23015037", + "slurm_node": "c05r05" + }, + "measurement_notes": { + "candidate_scope": "fixed representative selected after the full strategy-bounded search produced no valid candidate within its shorter timeout", + "peak_rss": "process peak RSS, not GPU peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-findings.md new file mode 100644 index 000000000..1837cf944 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-findings.md @@ -0,0 +1,76 @@ +# VQETape RTX 3090 GPU findings + +## Workload and environment + +- Open-boundary TFIM, `n=10`, depth `L=4`, plus initial state, + `complex64`, seed 33. +- RTX 3090 24 GB, NVIDIA driver 550.135, CUDA 12.2. +- Python 3.12.11, JAX/JAXlib 0.4.38, cuDNN 9.1.1.17. +- Five synchronized warm repetitions in fresh worker processes. +- `JAX_DEFAULT_MATMUL_PRECISION=highest`. + +The fixed representatives are statevector unrolled/default, direct-TN +greedy/dense/MPO/no-rematerialization, and spatial-transfer greedy/block +width 2/default adjoint/unroll 1. This is a same-workload GPU validation of +the three exact representations, not a complete high-precision autotuner +sweep. + +## Result + +| Representation | Slurm job | Compile (s) | First execute (s) | Cold total (s) | Warm median (ms) | Warm MAD (ms) | Compile + 100 warm (s) | Host peak RSS (MiB) | NVML job peak (MiB) | Energy abs. error | Gradient rel. L2 error | +|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| Statevector | 23015042 | 28.7213 | 0.4025 | 29.1238 | 3.3785 | 0.0231 | 29.4617 | 462.4 | 272 | 0 | 0 | +| Direct TN, dense MPO | 23015037 | 45.6544 | 0.1376 | 45.7920 | 5.0498 | 0.0669 | 46.2970 | 575.0 | 274 | 9.54e-7 | 4.18e-7 | +| Spatial transfer, block 2 | 23015038 | 15.5816 | 0.3636 | 15.9452 | 8.3281 | 0.0269 | 16.7781 | 473.9 | 274 | 3.81e-6 | 9.15e-7 | + +All three jobs ended `COMPLETED/0:0`, reported `jax_backend=gpu` and +`jax_devices=["cuda:0"]`, passed the `complex64` energy/gradient tolerance, +and passed local and remote SHA256 audits. + +At this small workload, statevector has the fastest steady-state kernel. +Spatial transfer instead cuts compilation by 45.7% and the declared +`compile + 100 warm` objective by 43.1% relative to statevector. Under this +single-workload model, the statevector/spatial break-even is about 2,663 VQE +calls. Direct TN is not selected at this size. + +The nearly identical 272–274 MiB NVML peaks are job-level sampled device +allocations for a small workload. They do not demonstrate the asymptotic +memory advantage of spatial transfer; host RSS, compiler memory, logical +tape, and device allocation remain separately labeled. + +## Precision A/B finding + +The identical spatial candidate was also run with the platform-default +matmul precision: + +| Matmul precision | Slurm job | Warm median (ms) | Energy abs. error | Gradient rel. L2 error | Correctness | +|---|---:|---:|---:|---:|---| +| Platform default | 23015032 | 8.4699 | 3.659e-2 | 3.634e-3 | fail | +| `highest` | 23015038 | 8.3281 | 3.815e-6 | 9.145e-7 | pass | + +The default-precision candidate executed successfully, so this is not a +timeout or backend-availability failure. It is a numerical correctness +failure caused by reduced-precision GPU matrix products. VQETape now gives +fresh workers `JAX_DEFAULT_MATMUL_PRECISION=highest` unless the caller +explicitly overrides it. JAX documents both the environment variable and +the accuracy/performance tradeoff: +. + +Slurm 23015271 is an integration check of that policy. Its parent environment +explicitly unsets `JAX_DEFAULT_MATMUL_PRECISION`; the updated VQETape +benchmark layer supplies `highest` only to the fresh worker. The same spatial +candidate then passes with energy error `3.815e-6` and gradient error +`9.145e-7`. + +## Raw evidence + +- [`vqetape-gpu-rtx3090-statevector-n10-d4.json`](vqetape-gpu-rtx3090-statevector-n10-d4.json) + — SHA256 `07fc84c765d8f0d8d070c114e08cfe0886ae0a8ff2e8270905c915164a2ae93b` +- [`vqetape-gpu-rtx3090-direct-tn-n10-d4.json`](vqetape-gpu-rtx3090-direct-tn-n10-d4.json) + — SHA256 `a7524d95258541ac8406f8a432801ffadb1f9a11b14b24f02aa603e7fa64d407` +- [`vqetape-gpu-rtx3090-spatial-n10-d4.json`](vqetape-gpu-rtx3090-spatial-n10-d4.json) + — SHA256 `d16cb5e47ff73cc4d17f5cb6560da02615233be0eb103a29c948e261007b169a` +- [`vqetape-gpu-rtx3090-spatial-default-precision-control-n10-d4.json`](vqetape-gpu-rtx3090-spatial-default-precision-control-n10-d4.json) + — SHA256 `72c569ba21949c441c7d56f0f951721ef98ae14caaaa320acf0f24af8db169ba` +- [`vqetape-gpu-rtx3090-worker-policy-check-n10-d4.json`](vqetape-gpu-rtx3090-worker-policy-check-n10-d4.json) + — SHA256 `c1740840bbe70465347f33c4a97887007698482de71947782ea3c1e377d327f0` diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-spatial-default-precision-control-n10-d4.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-spatial-default-precision-control-n10-d4.json new file mode 100644 index 000000000..a4d0ca244 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-spatial-default-precision-control-n10-d4.json @@ -0,0 +1,1200 @@ +{ + "request": { + "spec": { + "nqubits": 10, + "depth": 4, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 8589934592, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 33, + "timeout_seconds": 900.0 + }, + "selection_scope": { + "strategy": "greedy", + "enumerated_candidate_count": 29, + "fixed_candidate": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 13 + ], + [ + 24, + 26 + ], + [ + 24, + 36 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 0, + 15 + ], + [ + 14, + 21 + ], + [ + 14, + 23 + ], + [ + 14, + 25 + ], + [ + 0, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 0, + 11 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 9, + 15 + ], + [ + 11, + 16 + ], + [ + 0, + 1 + ], + [ + 6, + 13 + ], + [ + 9, + 14 + ], + [ + 7, + 11 + ], + [ + 9, + 12 + ], + [ + 5, + 10 + ], + [ + 6, + 10 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + } + }, + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 28.799473855877295, + "first_execute_seconds": 2.1358989500440657, + "warm_seconds_median": 0.0033851920161396265, + "warm_seconds_mad": 1.2540025636553764e-05, + "peak_rss_bytes": 488775680, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 30329, + "parent_pid": 30286, + "energy": -9.817239761352539, + "gradient": [ + [ + [ + -0.46854811906814575, + -0.4722750186920166, + -0.2464824914932251, + -0.07790868729352951, + -0.1420147716999054, + -0.17791491746902466, + -0.09077209234237671, + 0.45692434906959534, + 0.31380802392959595, + 0.0 + ], + [ + -0.03958478569984436, + 0.011158943176269531, + -0.009169012308120728, + -0.06457924842834473, + 0.15499190986156464, + 0.06610503792762756, + -0.08350864052772522, + -0.05309084802865982, + -0.23897358775138855, + -0.17711342871189117 + ] + ], + [ + [ + -0.6363455057144165, + -0.44142043590545654, + -0.2911379933357239, + -0.20166973769664764, + -0.07707791030406952, + -0.24943044781684875, + -0.1907852590084076, + 0.5283613204956055, + 0.29258057475090027, + 0.0 + ], + [ + 0.0035590529441833496, + 0.004422098398208618, + 0.07165621966123581, + 0.1563468873500824, + 0.14765387773513794, + -0.039247989654541016, + 0.052034080028533936, + 0.08925250172615051, + -0.418130487203598, + -0.35919129848480225 + ] + ], + [ + [ + -0.4870542585849762, + -0.38737767934799194, + -0.24822181463241577, + -0.20900507271289825, + 0.012907415628433228, + 0.05856277048587799, + -0.10509620606899261, + 0.4199683666229248, + 0.28571078181266785, + 0.0 + ], + [ + 0.0653185248374939, + 0.033100489526987076, + 0.14375317096710205, + 0.20163139700889587, + 0.11981698870658875, + -0.0038363486528396606, + 0.008025705814361572, + -0.054874420166015625, + -0.4182952046394348, + -0.26828545331954956 + ] + ], + [ + [ + -0.410211980342865, + -0.2515096366405487, + -0.16895535588264465, + -0.3394552171230316, + -0.003619775176048279, + 0.03047749400138855, + -0.031583257019519806, + 0.5769170522689819, + 0.4589214324951172, + 0.0 + ], + [ + 0.17288659512996674, + 0.23285430669784546, + 0.09942466765642166, + 0.16815431416034698, + 0.11297640204429626, + -0.037578269839286804, + 0.057748645544052124, + -0.1924058198928833, + -0.5115118026733398, + -0.2626870274543762 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 1546936, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 1147112 + }, + "static_estimate": { + "parameter_count": 76, + "state_bytes": 8192, + "saved_boundary_upper_bound_bytes": 40960, + "estimated_forward_gate_applications": 76, + "estimated_recompute_gate_applications": 0 + } + }, + "candidate": { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 13 + ], + [ + 24, + 26 + ], + [ + 24, + 36 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 0, + 15 + ], + [ + 14, + 21 + ], + [ + 14, + 23 + ], + [ + 14, + 25 + ], + [ + 0, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 0, + 11 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 9, + 15 + ], + [ + 11, + 16 + ], + [ + 0, + 1 + ], + [ + 6, + 13 + ], + [ + 9, + 14 + ], + [ + 7, + 11 + ], + [ + 9, + 12 + ], + [ + 5, + 10 + ], + [ + 6, + 10 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 16.04433124908246, + "first_execute_seconds": 0.1099409491289407, + "warm_seconds_median": 0.008469894994050264, + "warm_seconds_mad": 7.120193913578987e-06, + "peak_rss_bytes": 497389568, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 33510, + "parent_pid": 30286, + "energy": -9.780649185180664, + "gradient": [ + [ + [ + -0.4672681987285614, + -0.47077253460884094, + -0.24649764597415924, + -0.07749029248952866, + -0.14119234681129456, + -0.17696189880371094, + -0.09046898782253265, + 0.45587655901908875, + 0.3135649859905243, + 0.0 + ], + [ + -0.03963714838027954, + 0.01086115837097168, + -0.009111419320106506, + -0.0639268159866333, + 0.15449050068855286, + 0.06611365079879761, + -0.08301280438899994, + -0.05268565192818642, + -0.23775748908519745, + -0.1766483187675476 + ] + ], + [ + [ + -0.6349003911018372, + -0.4404957890510559, + -0.2898768186569214, + -0.20052587985992432, + -0.0763183981180191, + -0.24766357243061066, + -0.19035083055496216, + 0.5270216464996338, + 0.2906256914138794, + 0.0 + ], + [ + 0.003723546862602234, + 0.003855586051940918, + 0.07149180769920349, + 0.15596464276313782, + 0.14732427895069122, + -0.03905192017555237, + 0.05176246166229248, + 0.08972126245498657, + -0.41586124897003174, + -0.3578317165374756 + ] + ], + [ + [ + -0.48639580607414246, + -0.38570165634155273, + -0.24809828400611877, + -0.2074952870607376, + 0.012834861874580383, + 0.05931447446346283, + -0.10385022312402725, + 0.41903936862945557, + 0.28389906883239746, + 0.0 + ], + [ + 0.0653744637966156, + 0.0329829566180706, + 0.14321109652519226, + 0.2011592835187912, + 0.11932991445064545, + -0.004751197993755341, + 0.00732046365737915, + -0.054401516914367676, + -0.4166404604911804, + -0.2669681906700134 + ] + ], + [ + [ + -0.4096859097480774, + -0.2505699694156647, + -0.16832834482192993, + -0.33832618594169617, + -0.004473954439163208, + 0.030706509947776794, + -0.03134601563215256, + 0.5756354928016663, + 0.45691531896591187, + 0.0 + ], + [ + 0.17252841591835022, + 0.23211665451526642, + 0.09884357452392578, + 0.16820687055587769, + 0.11264930665493011, + -0.037917912006378174, + 0.05685541778802872, + -0.19178979098796844, + -0.5097850561141968, + -0.26175135374069214 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 835528, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 700128 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 9, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 768, + "boundary_bytes": 6144, + "recurrent_boundary_dimension": 768, + "recurrent_boundary_bytes": 6144, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 8, + "bulk_blocks": 4, + "tail_width": 0, + "first_path_flops": 9456, + "bulk_path_flops": 339712, + "bulk_block_path_flops": 339712, + "tail_path_flops": 0, + "last_path_flops": 9368, + "estimated_energy_flops": 1377672, + "modeled_checkpoint_boundaries": 4, + "modeled_checkpoint_bytes": 24576, + "first_largest_intermediate_elements": 768, + "bulk_largest_intermediate_elements": 3072, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 768, + "differentiated_cost": { + "total_forward_flops": 1377672, + "total_backward_flops": 2755176, + "total_flops": 4132848, + "total_traffic_elements": 498939, + "total_traffic_bytes": 3991512, + "peak_role_residual_elements": 19976, + "static_score": 6448220, + "bulk_block_count": 4, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 9456, + "backward_flops": 18896, + "forward_read_elements": 1708, + "forward_write_elements": 2364, + "backward_read_elements": 6436, + "backward_write_elements": 1708, + "residual_elements": 1708, + "peak_live_residual_elements": 1708, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 18, + "backward_contractions": 36, + "total_flops": 28352, + "traffic_elements": 12216 + }, + "bulk": { + "forward_flops": 339712, + "backward_flops": 679392, + "forward_read_elements": 19976, + "forward_write_elements": 19576, + "backward_read_elements": 59128, + "backward_write_elements": 19976, + "residual_elements": 19976, + "peak_live_residual_elements": 19976, + "largest_forward_intermediate_elements": 3072, + "largest_backward_intermediate_elements": 3072, + "forward_contractions": 54, + "backward_contractions": 108, + "total_flops": 1019104, + "traffic_elements": 118656 + }, + "tail": null, + "last": { + "forward_flops": 9368, + "backward_flops": 18712, + "forward_read_elements": 2456, + "forward_write_elements": 1577, + "backward_read_elements": 5610, + "backward_write_elements": 2456, + "residual_elements": 2456, + "peak_live_residual_elements": 2456, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 19, + "backward_contractions": 38, + "total_flops": 28080, + "traffic_elements": 12099 + } + } + }, + "residual_profile": { + "residual_count": 347, + "total_bytes": 532416, + "recomputable_bytes": 531360, + "bytes_by_category": { + "primitive:scan": 501760, + "primitive:dot_general": 26624, + "primitive:concatenate": 1072, + "primitive:conj": 944, + "constant": 768, + "primitive:convert_element_type": 768, + "literal": 288, + "primitive:cos": 96, + "primitive:sin": 96 + }, + "bytes_by_name": {} + } + } + }, + "correctness": { + "energy_abs_error": 0.036590576171875, + "gradient_relative_l2_error": 0.003634068736166702, + "tolerance_passed": false + }, + "hpc_runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "cuda_visible_devices": "0", + "slurm_job_id": "23015032", + "slurm_node": "c05r05" + }, + "measurement_notes": { + "candidate_scope": "fixed representative selected after the full strategy-bounded search produced no valid candidate within its shorter timeout", + "peak_rss": "process peak RSS, not GPU peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-spatial-n10-d4.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-spatial-n10-d4.json new file mode 100644 index 000000000..2a14a4a70 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-spatial-n10-d4.json @@ -0,0 +1,1201 @@ +{ + "request": { + "spec": { + "nqubits": 10, + "depth": 4, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 8589934592, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 33, + "timeout_seconds": 900.0 + }, + "selection_scope": { + "strategy": "greedy", + "enumerated_candidate_count": 29, + "fixed_candidate": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 13 + ], + [ + 24, + 26 + ], + [ + 24, + 36 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 0, + 15 + ], + [ + 14, + 21 + ], + [ + 14, + 23 + ], + [ + 14, + 25 + ], + [ + 0, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 0, + 11 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 9, + 15 + ], + [ + 11, + 16 + ], + [ + 0, + 1 + ], + [ + 6, + 13 + ], + [ + 9, + 14 + ], + [ + 7, + 11 + ], + [ + 9, + 12 + ], + [ + 5, + 10 + ], + [ + 6, + 10 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + } + }, + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 27.56072627613321, + "first_execute_seconds": 1.2966226569842547, + "warm_seconds_median": 0.003361272159963846, + "warm_seconds_mad": 8.699251338839531e-06, + "peak_rss_bytes": 492077056, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 50911, + "parent_pid": 50857, + "energy": -9.808083534240723, + "gradient": [ + [ + [ + -0.46896475553512573, + -0.47195032238960266, + -0.2466237097978592, + -0.07784716784954071, + -0.14211151003837585, + -0.17730174958705902, + -0.09080648422241211, + 0.4569324254989624, + 0.31365102529525757, + 0.0 + ], + [ + -0.03977549076080322, + 0.010964959859848022, + -0.0091685950756073, + -0.06426870822906494, + 0.1547035574913025, + 0.06592035293579102, + -0.0835530161857605, + -0.053081072866916656, + -0.23858025670051575, + -0.17688752710819244 + ] + ], + [ + [ + -0.6360300183296204, + -0.4413711428642273, + -0.29090601205825806, + -0.20150905847549438, + -0.07731978595256805, + -0.2488023340702057, + -0.19054211676120758, + 0.5278798341751099, + 0.29221755266189575, + 0.0 + ], + [ + 0.0035268664360046387, + 0.004425346851348877, + 0.07154648751020432, + 0.15612752735614777, + 0.1475711464881897, + -0.039509356021881104, + 0.05187875032424927, + 0.08914613723754883, + -0.41748419404029846, + -0.3584825396537781 + ] + ], + [ + [ + -0.48680824041366577, + -0.38730189204216003, + -0.24821968376636505, + -0.2085868865251541, + 0.012510910630226135, + 0.05888683348894119, + -0.10480844974517822, + 0.41986727714538574, + 0.2853373885154724, + 0.0 + ], + [ + 0.0653945803642273, + 0.03318902477622032, + 0.14355331659317017, + 0.20173117518424988, + 0.11944940686225891, + -0.0040318965911865234, + 0.008243262767791748, + -0.05483078956604004, + -0.41754376888275146, + -0.26748746633529663 + ] + ], + [ + [ + -0.4100140929222107, + -0.2515494227409363, + -0.16888168454170227, + -0.33892822265625, + -0.0039023905992507935, + 0.0305059552192688, + -0.031699441373348236, + 0.5763920545578003, + 0.45810770988464355, + 0.0 + ], + [ + 0.17258673906326294, + 0.23259592056274414, + 0.09938420355319977, + 0.16793332993984222, + 0.11280322074890137, + -0.03761249780654907, + 0.05773849040269852, + -0.1922493577003479, + -0.5106223821640015, + -0.26233968138694763 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 1546936, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 1147112 + }, + "static_estimate": { + "parameter_count": 76, + "state_bytes": 8192, + "saved_boundary_upper_bound_bytes": 40960, + "estimated_forward_gate_applications": 76, + "estimated_recompute_gate_applications": 0 + } + }, + "candidate": { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 13 + ], + [ + 24, + 26 + ], + [ + 24, + 36 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 0, + 15 + ], + [ + 14, + 21 + ], + [ + 14, + 23 + ], + [ + 14, + 25 + ], + [ + 0, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 0, + 11 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 9, + 15 + ], + [ + 11, + 16 + ], + [ + 0, + 1 + ], + [ + 6, + 13 + ], + [ + 9, + 14 + ], + [ + 7, + 11 + ], + [ + 9, + 12 + ], + [ + 5, + 10 + ], + [ + 6, + 10 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.581619282020256, + "first_execute_seconds": 0.36361847585067153, + "warm_seconds_median": 0.008328126044943929, + "warm_seconds_mad": 2.6900088414549828e-05, + "peak_rss_bytes": 496926720, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 53965, + "parent_pid": 50857, + "energy": -9.808079719543457, + "gradient": [ + [ + [ + -0.4689650237560272, + -0.4719514846801758, + -0.24662360548973083, + -0.07784692198038101, + -0.1421116590499878, + -0.17730140686035156, + -0.09080669283866882, + 0.45693254470825195, + 0.31365105509757996, + 0.0 + ], + [ + -0.039775386452674866, + 0.010964930057525635, + -0.009168565273284912, + -0.064268559217453, + 0.15470366179943085, + 0.06592023372650146, + -0.0835532695055008, + -0.05308130010962486, + -0.2385801076889038, + -0.1768873929977417 + ] + ], + [ + [ + -0.6360299587249756, + -0.4413709342479706, + -0.2909061908721924, + -0.2015092968940735, + -0.0773196667432785, + -0.24880236387252808, + -0.19054216146469116, + 0.5278793573379517, + 0.292217493057251, + 0.0 + ], + [ + 0.0035269856452941895, + 0.004425406455993652, + 0.07154674828052521, + 0.15612781047821045, + 0.1475713700056076, + -0.039509743452072144, + 0.05187830328941345, + 0.08914594352245331, + -0.4174840748310089, + -0.3584824800491333 + ] + ], + [ + [ + -0.4868081510066986, + -0.38730189204216003, + -0.2482193410396576, + -0.20858684182167053, + 0.012510962784290314, + 0.0588870570063591, + -0.10480835288763046, + 0.4198671579360962, + 0.28533709049224854, + 0.0 + ], + [ + 0.06539462506771088, + 0.03318862244486809, + 0.14355340600013733, + 0.2017313539981842, + 0.11944937705993652, + -0.0040321797132492065, + 0.008242994546890259, + -0.05483081936836243, + -0.41754359006881714, + -0.26748764514923096 + ] + ], + [ + [ + -0.41001397371292114, + -0.25154927372932434, + -0.16888150572776794, + -0.3389282822608948, + -0.0039021670818328857, + 0.030506163835525513, + -0.03169950842857361, + 0.5763918161392212, + 0.45810768008232117, + 0.0 + ], + [ + 0.17258650064468384, + 0.23259595036506653, + 0.09938449412584305, + 0.1679336428642273, + 0.11280316114425659, + -0.03761281073093414, + 0.057738322764635086, + -0.19224949181079865, + -0.5106224417686462, + -0.26233959197998047 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 835528, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 700128 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 9, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 768, + "boundary_bytes": 6144, + "recurrent_boundary_dimension": 768, + "recurrent_boundary_bytes": 6144, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 8, + "bulk_blocks": 4, + "tail_width": 0, + "first_path_flops": 9456, + "bulk_path_flops": 339712, + "bulk_block_path_flops": 339712, + "tail_path_flops": 0, + "last_path_flops": 9368, + "estimated_energy_flops": 1377672, + "modeled_checkpoint_boundaries": 4, + "modeled_checkpoint_bytes": 24576, + "first_largest_intermediate_elements": 768, + "bulk_largest_intermediate_elements": 3072, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 768, + "differentiated_cost": { + "total_forward_flops": 1377672, + "total_backward_flops": 2755176, + "total_flops": 4132848, + "total_traffic_elements": 498939, + "total_traffic_bytes": 3991512, + "peak_role_residual_elements": 19976, + "static_score": 6448220, + "bulk_block_count": 4, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 9456, + "backward_flops": 18896, + "forward_read_elements": 1708, + "forward_write_elements": 2364, + "backward_read_elements": 6436, + "backward_write_elements": 1708, + "residual_elements": 1708, + "peak_live_residual_elements": 1708, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 18, + "backward_contractions": 36, + "total_flops": 28352, + "traffic_elements": 12216 + }, + "bulk": { + "forward_flops": 339712, + "backward_flops": 679392, + "forward_read_elements": 19976, + "forward_write_elements": 19576, + "backward_read_elements": 59128, + "backward_write_elements": 19976, + "residual_elements": 19976, + "peak_live_residual_elements": 19976, + "largest_forward_intermediate_elements": 3072, + "largest_backward_intermediate_elements": 3072, + "forward_contractions": 54, + "backward_contractions": 108, + "total_flops": 1019104, + "traffic_elements": 118656 + }, + "tail": null, + "last": { + "forward_flops": 9368, + "backward_flops": 18712, + "forward_read_elements": 2456, + "forward_write_elements": 1577, + "backward_read_elements": 5610, + "backward_write_elements": 2456, + "residual_elements": 2456, + "peak_live_residual_elements": 2456, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 19, + "backward_contractions": 38, + "total_flops": 28080, + "traffic_elements": 12099 + } + } + }, + "residual_profile": { + "residual_count": 347, + "total_bytes": 532416, + "recomputable_bytes": 531360, + "bytes_by_category": { + "primitive:scan": 501760, + "primitive:dot_general": 26624, + "primitive:concatenate": 1072, + "primitive:conj": 944, + "constant": 768, + "primitive:convert_element_type": 768, + "literal": 288, + "primitive:cos": 96, + "primitive:sin": 96 + }, + "bytes_by_name": {} + } + } + }, + "correctness": { + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 9.145179351854609e-07, + "tolerance_passed": true + }, + "hpc_runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "cuda_visible_devices": "0", + "jax_default_matmul_precision": "highest", + "slurm_job_id": "23015038", + "slurm_node": "c05r05" + }, + "measurement_notes": { + "candidate_scope": "fixed representative selected after the full strategy-bounded search produced no valid candidate within its shorter timeout", + "peak_rss": "process peak RSS, not GPU peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json new file mode 100644 index 000000000..41db94dc1 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json @@ -0,0 +1,339 @@ +{ + "request": { + "spec": { + "nqubits": 10, + "depth": 4, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 8589934592, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 33, + "timeout_seconds": 300.0 + }, + "selection_scope": { + "strategy": "greedy", + "enumerated_candidate_count": 1, + "fixed_candidate": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + } + }, + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 28.72131058690138, + "first_execute_seconds": 0.40249974513426423, + "warm_seconds_median": 0.003378501860424876, + "warm_seconds_mad": 2.310890704393387e-05, + "peak_rss_bytes": 484831232, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 63191, + "parent_pid": 63149, + "energy": -9.808083534240723, + "gradient": [ + [ + [ + -0.46896475553512573, + -0.47195032238960266, + -0.2466237097978592, + -0.07784716784954071, + -0.14211151003837585, + -0.17730174958705902, + -0.09080648422241211, + 0.4569324254989624, + 0.31365102529525757, + 0.0 + ], + [ + -0.03977549076080322, + 0.010964959859848022, + -0.0091685950756073, + -0.06426870822906494, + 0.1547035574913025, + 0.06592035293579102, + -0.0835530161857605, + -0.053081072866916656, + -0.23858025670051575, + -0.17688752710819244 + ] + ], + [ + [ + -0.6360300183296204, + -0.4413711428642273, + -0.29090601205825806, + -0.20150905847549438, + -0.07731978595256805, + -0.2488023340702057, + -0.19054211676120758, + 0.5278798341751099, + 0.29221755266189575, + 0.0 + ], + [ + 0.0035268664360046387, + 0.004425346851348877, + 0.07154648751020432, + 0.15612752735614777, + 0.1475711464881897, + -0.039509356021881104, + 0.05187875032424927, + 0.08914613723754883, + -0.41748419404029846, + -0.3584825396537781 + ] + ], + [ + [ + -0.48680824041366577, + -0.38730189204216003, + -0.24821968376636505, + -0.2085868865251541, + 0.012510910630226135, + 0.05888683348894119, + -0.10480844974517822, + 0.41986727714538574, + 0.2853373885154724, + 0.0 + ], + [ + 0.0653945803642273, + 0.03318902477622032, + 0.14355331659317017, + 0.20173117518424988, + 0.11944940686225891, + -0.0040318965911865234, + 0.008243262767791748, + -0.05483078956604004, + -0.41754376888275146, + -0.26748746633529663 + ] + ], + [ + [ + -0.4100140929222107, + -0.2515494227409363, + -0.16888168454170227, + -0.33892822265625, + -0.0039023905992507935, + 0.0305059552192688, + -0.031699441373348236, + 0.5763920545578003, + 0.45810770988464355, + 0.0 + ], + [ + 0.17258673906326294, + 0.23259592056274414, + 0.09938420355319977, + 0.16793332993984222, + 0.11280322074890137, + -0.03761249780654907, + 0.05773849040269852, + -0.1922493577003479, + -0.5106223821640015, + -0.26233968138694763 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 1546936, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 1147112 + }, + "static_estimate": { + "parameter_count": 76, + "state_bytes": 8192, + "saved_boundary_upper_bound_bytes": 40960, + "estimated_forward_gate_applications": 76, + "estimated_recompute_gate_applications": 0 + } + }, + "candidate": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 28.72131058690138, + "first_execute_seconds": 0.40249974513426423, + "warm_seconds_median": 0.003378501860424876, + "warm_seconds_mad": 2.310890704393387e-05, + "peak_rss_bytes": 484831232, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 63191, + "parent_pid": 63149, + "energy": -9.808083534240723, + "gradient": [ + [ + [ + -0.46896475553512573, + -0.47195032238960266, + -0.2466237097978592, + -0.07784716784954071, + -0.14211151003837585, + -0.17730174958705902, + -0.09080648422241211, + 0.4569324254989624, + 0.31365102529525757, + 0.0 + ], + [ + -0.03977549076080322, + 0.010964959859848022, + -0.0091685950756073, + -0.06426870822906494, + 0.1547035574913025, + 0.06592035293579102, + -0.0835530161857605, + -0.053081072866916656, + -0.23858025670051575, + -0.17688752710819244 + ] + ], + [ + [ + -0.6360300183296204, + -0.4413711428642273, + -0.29090601205825806, + -0.20150905847549438, + -0.07731978595256805, + -0.2488023340702057, + -0.19054211676120758, + 0.5278798341751099, + 0.29221755266189575, + 0.0 + ], + [ + 0.0035268664360046387, + 0.004425346851348877, + 0.07154648751020432, + 0.15612752735614777, + 0.1475711464881897, + -0.039509356021881104, + 0.05187875032424927, + 0.08914613723754883, + -0.41748419404029846, + -0.3584825396537781 + ] + ], + [ + [ + -0.48680824041366577, + -0.38730189204216003, + -0.24821968376636505, + -0.2085868865251541, + 0.012510910630226135, + 0.05888683348894119, + -0.10480844974517822, + 0.41986727714538574, + 0.2853373885154724, + 0.0 + ], + [ + 0.0653945803642273, + 0.03318902477622032, + 0.14355331659317017, + 0.20173117518424988, + 0.11944940686225891, + -0.0040318965911865234, + 0.008243262767791748, + -0.05483078956604004, + -0.41754376888275146, + -0.26748746633529663 + ] + ], + [ + [ + -0.4100140929222107, + -0.2515494227409363, + -0.16888168454170227, + -0.33892822265625, + -0.0039023905992507935, + 0.0305059552192688, + -0.031699441373348236, + 0.5763920545578003, + 0.45810770988464355, + 0.0 + ], + [ + 0.17258673906326294, + 0.23259592056274414, + 0.09938420355319977, + 0.16793332993984222, + 0.11280322074890137, + -0.03761249780654907, + 0.05773849040269852, + -0.1922493577003479, + -0.5106223821640015, + -0.26233968138694763 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 1546936, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 1147112 + }, + "static_estimate": { + "parameter_count": 76, + "state_bytes": 8192, + "saved_boundary_upper_bound_bytes": 40960, + "estimated_forward_gate_applications": 76, + "estimated_recompute_gate_applications": 0 + } + }, + "correctness": { + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "tolerance_passed": true + }, + "hpc_runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "cuda_visible_devices": "0", + "jax_default_matmul_precision": "highest", + "slurm_job_id": "23015042", + "slurm_node": "c05r05" + }, + "measurement_notes": { + "candidate_scope": "fixed representative selected after the full strategy-bounded search produced no valid candidate within its shorter timeout", + "peak_rss": "process peak RSS, not GPU peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-worker-policy-check-n10-d4.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-worker-policy-check-n10-d4.json new file mode 100644 index 000000000..f15b19707 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-gpu-rtx3090-worker-policy-check-n10-d4.json @@ -0,0 +1,1201 @@ +{ + "request": { + "spec": { + "nqubits": 10, + "depth": 4, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 8589934592, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 33, + "timeout_seconds": 300.0 + }, + "selection_scope": { + "strategy": "greedy", + "enumerated_candidate_count": 29, + "fixed_candidate": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 13 + ], + [ + 24, + 26 + ], + [ + 24, + 36 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 0, + 15 + ], + [ + 14, + 21 + ], + [ + 14, + 23 + ], + [ + 14, + 25 + ], + [ + 0, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 0, + 11 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 9, + 15 + ], + [ + 11, + 16 + ], + [ + 0, + 1 + ], + [ + 6, + 13 + ], + [ + 9, + 14 + ], + [ + 7, + 11 + ], + [ + 9, + 12 + ], + [ + 5, + 10 + ], + [ + 6, + 10 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + } + }, + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 28.845934564014897, + "first_execute_seconds": 0.9019371459726244, + "warm_seconds_median": 0.003331593004986644, + "warm_seconds_mad": 1.5239929780364037e-05, + "peak_rss_bytes": 488054784, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 46571, + "parent_pid": 45501, + "energy": -9.808083534240723, + "gradient": [ + [ + [ + -0.46896475553512573, + -0.47195032238960266, + -0.2466237097978592, + -0.07784716784954071, + -0.14211151003837585, + -0.17730174958705902, + -0.09080648422241211, + 0.4569324254989624, + 0.31365102529525757, + 0.0 + ], + [ + -0.03977549076080322, + 0.010964959859848022, + -0.0091685950756073, + -0.06426870822906494, + 0.1547035574913025, + 0.06592035293579102, + -0.0835530161857605, + -0.053081072866916656, + -0.23858025670051575, + -0.17688752710819244 + ] + ], + [ + [ + -0.6360300183296204, + -0.4413711428642273, + -0.29090601205825806, + -0.20150905847549438, + -0.07731978595256805, + -0.2488023340702057, + -0.19054211676120758, + 0.5278798341751099, + 0.29221755266189575, + 0.0 + ], + [ + 0.0035268664360046387, + 0.004425346851348877, + 0.07154648751020432, + 0.15612752735614777, + 0.1475711464881897, + -0.039509356021881104, + 0.05187875032424927, + 0.08914613723754883, + -0.41748419404029846, + -0.3584825396537781 + ] + ], + [ + [ + -0.48680824041366577, + -0.38730189204216003, + -0.24821968376636505, + -0.2085868865251541, + 0.012510910630226135, + 0.05888683348894119, + -0.10480844974517822, + 0.41986727714538574, + 0.2853373885154724, + 0.0 + ], + [ + 0.0653945803642273, + 0.03318902477622032, + 0.14355331659317017, + 0.20173117518424988, + 0.11944940686225891, + -0.0040318965911865234, + 0.008243262767791748, + -0.05483078956604004, + -0.41754376888275146, + -0.26748746633529663 + ] + ], + [ + [ + -0.4100140929222107, + -0.2515494227409363, + -0.16888168454170227, + -0.33892822265625, + -0.0039023905992507935, + 0.0305059552192688, + -0.031699441373348236, + 0.5763920545578003, + 0.45810770988464355, + 0.0 + ], + [ + 0.17258673906326294, + 0.23259592056274414, + 0.09938420355319977, + 0.16793332993984222, + 0.11280322074890137, + -0.03761249780654907, + 0.05773849040269852, + -0.1922493577003479, + -0.5106223821640015, + -0.26233968138694763 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 1546936, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 1147112 + }, + "static_estimate": { + "parameter_count": 76, + "state_bytes": 8192, + "saved_boundary_upper_bound_bytes": 40960, + "estimated_forward_gate_applications": 76, + "estimated_recompute_gate_applications": 0 + } + }, + "candidate": { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 8 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 13 + ], + [ + 24, + 26 + ], + [ + 24, + 36 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 15 + ], + [ + 0, + 15 + ], + [ + 14, + 21 + ], + [ + 14, + 23 + ], + [ + 14, + 25 + ], + [ + 0, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 0, + 11 + ], + [ + 0, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 9, + 15 + ], + [ + 11, + 16 + ], + [ + 0, + 1 + ], + [ + 6, + 13 + ], + [ + 9, + 14 + ], + [ + 7, + 11 + ], + [ + 9, + 12 + ], + [ + 5, + 10 + ], + [ + 6, + 10 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 2, + 7 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 15.754982371116057, + "first_execute_seconds": 0.12397398799657822, + "warm_seconds_median": 0.00830629700794816, + "warm_seconds_mad": 3.242003731429577e-05, + "peak_rss_bytes": 495489024, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 47181, + "parent_pid": 45501, + "energy": -9.808079719543457, + "gradient": [ + [ + [ + -0.4689650237560272, + -0.4719514846801758, + -0.24662360548973083, + -0.07784692198038101, + -0.1421116590499878, + -0.17730140686035156, + -0.09080669283866882, + 0.45693254470825195, + 0.31365105509757996, + 0.0 + ], + [ + -0.039775386452674866, + 0.010964930057525635, + -0.009168565273284912, + -0.064268559217453, + 0.15470366179943085, + 0.06592023372650146, + -0.0835532695055008, + -0.05308130010962486, + -0.2385801076889038, + -0.1768873929977417 + ] + ], + [ + [ + -0.6360299587249756, + -0.4413709342479706, + -0.2909061908721924, + -0.2015092968940735, + -0.0773196667432785, + -0.24880236387252808, + -0.19054216146469116, + 0.5278793573379517, + 0.292217493057251, + 0.0 + ], + [ + 0.0035269856452941895, + 0.004425406455993652, + 0.07154674828052521, + 0.15612781047821045, + 0.1475713700056076, + -0.039509743452072144, + 0.05187830328941345, + 0.08914594352245331, + -0.4174840748310089, + -0.3584824800491333 + ] + ], + [ + [ + -0.4868081510066986, + -0.38730189204216003, + -0.2482193410396576, + -0.20858684182167053, + 0.012510962784290314, + 0.0588870570063591, + -0.10480835288763046, + 0.4198671579360962, + 0.28533709049224854, + 0.0 + ], + [ + 0.06539462506771088, + 0.03318862244486809, + 0.14355340600013733, + 0.2017313539981842, + 0.11944937705993652, + -0.0040321797132492065, + 0.008242994546890259, + -0.05483081936836243, + -0.41754359006881714, + -0.26748764514923096 + ] + ], + [ + [ + -0.41001397371292114, + -0.25154927372932434, + -0.16888150572776794, + -0.3389282822608948, + -0.0039021670818328857, + 0.030506163835525513, + -0.03169950842857361, + 0.5763918161392212, + 0.45810768008232117, + 0.0 + ], + [ + 0.17258650064468384, + 0.23259595036506653, + 0.09938449412584305, + 0.1679336428642273, + 0.11280316114425659, + -0.03761281073093414, + 0.057738322764635086, + -0.19224949181079865, + -0.5106224417686462, + -0.26233959197998047 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 320, + "generated_code_size_in_bytes": 835528, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 340, + "temp_size_in_bytes": 700128 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 9, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 768, + "boundary_bytes": 6144, + "recurrent_boundary_dimension": 768, + "recurrent_boundary_bytes": 6144, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 8, + "bulk_blocks": 4, + "tail_width": 0, + "first_path_flops": 9456, + "bulk_path_flops": 339712, + "bulk_block_path_flops": 339712, + "tail_path_flops": 0, + "last_path_flops": 9368, + "estimated_energy_flops": 1377672, + "modeled_checkpoint_boundaries": 4, + "modeled_checkpoint_bytes": 24576, + "first_largest_intermediate_elements": 768, + "bulk_largest_intermediate_elements": 3072, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 768, + "differentiated_cost": { + "total_forward_flops": 1377672, + "total_backward_flops": 2755176, + "total_flops": 4132848, + "total_traffic_elements": 498939, + "total_traffic_bytes": 3991512, + "peak_role_residual_elements": 19976, + "static_score": 6448220, + "bulk_block_count": 4, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 9456, + "backward_flops": 18896, + "forward_read_elements": 1708, + "forward_write_elements": 2364, + "backward_read_elements": 6436, + "backward_write_elements": 1708, + "residual_elements": 1708, + "peak_live_residual_elements": 1708, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 18, + "backward_contractions": 36, + "total_flops": 28352, + "traffic_elements": 12216 + }, + "bulk": { + "forward_flops": 339712, + "backward_flops": 679392, + "forward_read_elements": 19976, + "forward_write_elements": 19576, + "backward_read_elements": 59128, + "backward_write_elements": 19976, + "residual_elements": 19976, + "peak_live_residual_elements": 19976, + "largest_forward_intermediate_elements": 3072, + "largest_backward_intermediate_elements": 3072, + "forward_contractions": 54, + "backward_contractions": 108, + "total_flops": 1019104, + "traffic_elements": 118656 + }, + "tail": null, + "last": { + "forward_flops": 9368, + "backward_flops": 18712, + "forward_read_elements": 2456, + "forward_write_elements": 1577, + "backward_read_elements": 5610, + "backward_write_elements": 2456, + "residual_elements": 2456, + "peak_live_residual_elements": 2456, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 19, + "backward_contractions": 38, + "total_flops": 28080, + "traffic_elements": 12099 + } + } + }, + "residual_profile": { + "residual_count": 347, + "total_bytes": 532416, + "recomputable_bytes": 531360, + "bytes_by_category": { + "primitive:scan": 501760, + "primitive:dot_general": 26624, + "primitive:concatenate": 1072, + "primitive:conj": 944, + "constant": 768, + "primitive:convert_element_type": 768, + "literal": 288, + "primitive:cos": 96, + "primitive:sin": 96 + }, + "bytes_by_name": {} + } + } + }, + "correctness": { + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 9.145179351854609e-07, + "tolerance_passed": true + }, + "hpc_runtime": { + "jax_backend": "gpu", + "jax_devices": [ + "cuda:0" + ], + "cuda_visible_devices": "0", + "jax_default_matmul_precision": null, + "slurm_job_id": "23015271", + "slurm_node": "c05r05" + }, + "measurement_notes": { + "candidate_scope": "fixed representative selected after the full strategy-bounded search produced no valid candidate within its shorter timeout", + "peak_rss": "process peak RSS, not GPU peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-holdout-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-holdout-findings.md new file mode 100644 index 000000000..ec7204bad --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-holdout-findings.md @@ -0,0 +1,29 @@ +# VQETape symmetry-breaking holdout findings + +## Workload + +The holdout is the open longitudinal-field Ising chain + +\[ +H=-J\sum_i Z_iZ_{i+1}-g\sum_iX_i-h\sum_iZ_i, +\] + +with a depth-two RZZ–RY–RX ansatz. Its ground energy comes from independent dense diagonalization, not the TFIM free-fermion oracle. + +## Result + +- Converged: `True`. +- Calls: `15`. +- Compile: `2.248` s. +- Time to target (including compile): `4.206` s. +- Final energy error: `0.00941175`. +- Global-X commutator Frobenius norm: `5.6`. + +## Symmetry decision + +Z2-native TFIM compression is explicitly inapplicable: + +- longitudinal Z field breaks global-X symmetry +- RY ansatz generators break global-X symmetry + +This holdout exercises a different conserved-charge regime and a symmetry-breaking ansatz family. It is a small exact generality check, not a claim of large-system longitudinal-Ising tensor performance. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-holdout-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-holdout-report.json new file mode 100644 index 000000000..19c40b920 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-holdout-report.json @@ -0,0 +1,209 @@ +{ + "schema_version": 1, + "generated_at": "2026-07-29T15:38:59.747978+00:00", + "method": { + "fresh_process": true, + "unique_jax_cache": true, + "x64_enabled": true, + "ground_oracle": "dense-eigvalsh", + "synchronization": "jax.block_until_ready" + }, + "result": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "transverse_field": 1.0, + "longitudinal_field": 0.35, + "dtype": "complex128" + }, + "ansatz": "rzz-ry-rx", + "target_energy_error": 0.01, + "max_steps": 100, + "seed": 7, + "converged": true, + "evaluations": 15, + "optimizer_steps": 13, + "compile_seconds": 2.2481818750020466, + "optimization_seconds": 1.9509796670026844, + "time_to_target_seconds": 4.20587583300221, + "total_seconds": 4.205982542000129, + "peak_rss_bytes": 241418240, + "ground_energy": -5.562986255750035, + "final_energy": -5.553574502692688, + "final_energy_error": 0.009411753057347205, + "final_parameters": [ + [ + [ + 0.13828964895309884, + 0.12882620548389123, + 0.24973761933599475, + 0.0 + ], + [ + -0.3323676303698203, + -0.5977242472759207, + -0.3936547934269535, + -0.221167923164007 + ], + [ + 0.15122517059068666, + 0.25185208020954314, + 0.3976359898968558, + 0.14772775161028834 + ] + ], + [ + [ + -0.22248325007938716, + -0.1570117636721782, + -0.288023664779844, + 0.0 + ], + [ + -0.5271593872041251, + -0.47525500216191247, + -0.6585181882563719, + -0.6351260124462282 + ], + [ + -0.22851530559808558, + -0.26898199329638744, + -0.31749288665716124, + -0.206954855639018 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -4.273842147731851, + "energy_error": 1.289144108018184, + "gradient_norm": 1.4962449199145773, + "elapsed_seconds": 4.198364666997804 + }, + { + "evaluation": 2, + "optimizer_step": 0, + "energy": -4.989622009510255, + "energy_error": 0.5733642462397803, + "gradient_norm": 2.003127400600751, + "elapsed_seconds": 4.199868292002066 + }, + { + "evaluation": 3, + "optimizer_step": 1, + "energy": -5.367339571593918, + "energy_error": 0.19564668415611663, + "gradient_norm": 0.941538099989693, + "elapsed_seconds": 4.200573624999379 + }, + { + "evaluation": 4, + "optimizer_step": 2, + "energy": -5.400840622584177, + "energy_error": 0.16214563316585817, + "gradient_norm": 0.9129201606878714, + "elapsed_seconds": 4.201129000000947 + }, + { + "evaluation": 5, + "optimizer_step": 3, + "energy": -5.492870646219796, + "energy_error": 0.0701156095302391, + "gradient_norm": 0.24166120454419004, + "elapsed_seconds": 4.201561124995351 + }, + { + "evaluation": 6, + "optimizer_step": 4, + "energy": -5.505936612299763, + "energy_error": 0.05704964345027186, + "gradient_norm": 0.17477038489196578, + "elapsed_seconds": 4.202056166999682 + }, + { + "evaluation": 7, + "optimizer_step": 5, + "energy": -5.518302072921354, + "energy_error": 0.04468418282868125, + "gradient_norm": 0.20633425344963677, + "elapsed_seconds": 4.202886207996926 + }, + { + "evaluation": 8, + "optimizer_step": 6, + "energy": -5.520376437737073, + "energy_error": 0.04260981801296193, + "gradient_norm": 0.23095221060715765, + "elapsed_seconds": 4.203234708002128 + }, + { + "evaluation": 9, + "optimizer_step": 7, + "energy": -5.524193419993499, + "energy_error": 0.038792835756535915, + "gradient_norm": 0.07996498000689256, + "elapsed_seconds": 4.203700457997911 + }, + { + "evaluation": 10, + "optimizer_step": 8, + "energy": -5.5256430737586575, + "energy_error": 0.03734318199137743, + "gradient_norm": 0.06638372005127469, + "elapsed_seconds": 4.204057374998229 + }, + { + "evaluation": 11, + "optimizer_step": 9, + "energy": -5.530445157397767, + "energy_error": 0.03254109835226782, + "gradient_norm": 0.13522427877172344, + "elapsed_seconds": 4.204452166995907 + }, + { + "evaluation": 12, + "optimizer_step": 10, + "energy": -5.535609981546048, + "energy_error": 0.027376274203986917, + "gradient_norm": 0.18691450561885192, + "elapsed_seconds": 4.204768167001021 + }, + { + "evaluation": 13, + "optimizer_step": 11, + "energy": -5.541101171048889, + "energy_error": 0.021885084701145807, + "gradient_norm": 0.1711013701745748, + "elapsed_seconds": 4.205087458001799 + }, + { + "evaluation": 14, + "optimizer_step": 12, + "energy": -5.548858695989115, + "energy_error": 0.014127559760919617, + "gradient_norm": 0.10374459220560767, + "elapsed_seconds": 4.20547679199808 + }, + { + "evaluation": 15, + "optimizer_step": 13, + "energy": -5.553574502692688, + "energy_error": 0.009411753057347205, + "gradient_norm": 0.12826272503649058, + "elapsed_seconds": 4.205873749997409 + } + ], + "z2_spatial_compression": { + "applicable": false, + "reasons": [ + "longitudinal Z field breaks global-X symmetry", + "RY ansatz generators break global-X symmetry" + ], + "commutator_norm": 5.6 + }, + "optimizer_message": null + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-findings.md new file mode 100644 index 000000000..94fe4853a --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-findings.md @@ -0,0 +1,205 @@ +# VQETape Operator-Schmidt Representation Findings + +**Date:** 2026-07-29 +**Backend:** JAX 0.11.0 CPU on macOS +**Search:** 2 gate representations × 3 path strategies × 4 tape policies +**Correctness oracle:** exact state-vector energy and complete gradient + +## Research Question + +Does replacing each dense rank-4 RZZ tensor by its exact rank-2 +operator-Schmidt factorization improve the contraction path, reverse-mode +residual tape, or lowered executable? + +The two exact representations are: + +\[ +R_{ZZ}(\theta)_{o_1o_2i_1i_2} +\] + +and + +\[ +R_{ZZ}(\theta) += +\sum_{a=0}^{1} +L_{o_1i_1a}(\theta)R_{o_2i_2a}, +\] + +where + +\[ +L_0=\cos\frac{\theta}{2}I,\qquad +L_1=-i\sin\frac{\theta}{2}Z, +\qquad +R_0=I,\qquad R_1=Z. +\] + +Every tape policy for one representation/path pair reused the same serialized +explicit path. Dense and Schmidt paths were searched independently with the +same path strategy because their network topologies differ. + +## Workloads + +| Workload | Qubits | Depth | Initial state | \(J\) | \(g\) | Candidates | +|---|---:|---:|---|---:|---:|---:| +| A | 3 | 2 | plus | 1.0 | 1.0 | 24 | +| B | 3 | 1 | zero | 0.7 | 0.3 | 24 | + +All **48/48** candidates passed the `complex64` energy and full-gradient +tolerances. + +Maximum observed errors: + +| Workload | Energy absolute error | Gradient relative L2 error | +|---|---:|---:| +| A | \(7.15\times10^{-7}\) | \(2.59\times10^{-7}\) | +| B | \(2.38\times10^{-7}\) | \(7.79\times10^{-9}\) | + +The unused final RZZ parameter in every layer retained exactly zero gradient. + +## Workload A: 3 Qubits, Depth 2 + +The following rows use the default JAX reverse tape. Time is a single +fresh-process CPU measurement and is not treated as a hardware-independent +constant. + +| Representation | Path | Tensors | Input elements | FLOPs | Largest intermediate | Logical residual bytes | `_diag` bytes | JAX temp | Compile | Warm | +|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| dense | auto-hq | 29 | 200 | 1,080 | 16 | 21,540 | 6,080 | 8,708 B | 9.299 s | 0.333 ms | +| dense | greedy | 29 | 200 | 1,048 | 16 | 21,700 | 6,080 | 9,988 B | 8.564 s | 0.350 ms | +| dense | random-greedy | 29 | 200 | 1,120 | 16 | 22,020 | 6,080 | 9,216 B | 9.519 s | 0.198 ms | +| Schmidt | auto-hq | 37 | 200 | 1,184 | 16 | 18,660 | 0 | 9,668 B | 6.960 s | 0.425 ms | +| Schmidt | greedy | 37 | 200 | 1,456 | 32 | 19,940 | 0 | 9,476 B | 8.510 s | 0.351 ms | +| Schmidt | random-greedy | 37 | 200 | 1,200 | 16 | 18,660 | 0 | 9,476 B | 6.281 s | 0.624 ms | + +The best default logical tape fell from 21,540 to 18,660 bytes: + +\[ +1-\frac{18{,}660}{21{,}540}\approx13.4\%. +\] + +However: + +- best estimated FLOPs increased from 1,048 to 1,184; +- best compiler temporary memory increased from 8,708 to 9,476 bytes; +- best warm time increased from 0.198 to 0.351 ms. + +For \(K=100\), the horizon selector chose Schmidt random-greedy with the +default tape because its one measured compile time was lower. Its warm runtime +was not competitive, so this is a cold-start trade-off rather than a general +throughput improvement. + +## Workload B: 3 Qubits, Depth 1 + +| Representation | Path | Tensors | Input elements | FLOPs | Largest intermediate | Logical residual bytes | `_diag` bytes | JAX temp | Compile | Warm | +|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| dense | auto-hq | 19 | 112 | 400 | 8 | 8,780 | 3,040 | 4,164 B | 3.504 s | 0.202 ms | +| dense | greedy | 19 | 112 | 408 | 8 | 8,780 | 3,040 | 4,292 B | 3.464 s | 0.215 ms | +| dense | random-greedy | 19 | 112 | 400 | 8 | 8,780 | 3,040 | 4,164 B | 2.847 s | 0.229 ms | +| Schmidt | auto-hq | 23 | 112 | 432 | 8 | 7,420 | 0 | 4,640 B | 4.019 s | 0.237 ms | +| Schmidt | greedy | 23 | 112 | 440 | 8 | 7,260 | 0 | 4,740 B | 3.514 s | 0.307 ms | +| Schmidt | random-greedy | 23 | 112 | 440 | 8 | 7,420 | 0 | 4,612 B | 3.741 s | 0.253 ms | + +The best default logical tape fell from 8,780 to 7,260 bytes: + +\[ +1-\frac{7{,}260}{8{,}780}\approx17.3\%. +\] + +The executable trend again favored dense: + +- best FLOPs: 400 dense versus 432 Schmidt; +- best JAX temp: 4,164 versus 4,612 bytes; +- best warm time: 0.202 versus 0.237 ms; +- best compile time: 2.847 versus 3.514 s. + +The horizon selector chose dense random-greedy. + +## Why Input Elements Did Not Fall + +One dense RZZ slot stores: + +\[ +2^4=16 +\] + +elements. Two Schmidt factors store: + +\[ +2^3+2^3=16 +\] + +elements. The exact factorization exposes low-rank connectivity and removes +structural zeros, but it does not reduce the raw number of bound elements in +this uncompressed implementation. + +It also adds one tensor and one contraction per factor pair. For these small +networks, the extra graph structure outweighed the lower-rank semantics in +path FLOPs and executable scheduling. + +## Named Tape Behavior + +Both representations retained exact named residual-budget control. In +workload A: + +- dense default tape: 21.5–22.0 KB depending on path; +- Schmidt default tape: 18.7–19.9 KB; +- dense named-empty tape: 608 B; +- Schmidt named-empty tape: 3,168 B. + +The higher Schmidt named-empty floor comes from additional factor-construction +values and constants that cannot be eliminated merely by excluding named +contraction outputs. + +Logical tape bytes and compiler temporary bytes again moved differently. This +confirms that VQETape must measure both rather than using saved-residual totals +as a proxy for device peak memory. + +## Decision-Gate Audit + +| Gate | Result | Evidence | +|---|---|---| +| Energy and complete-gradient correctness | **PASS** | 48/48 candidates valid; oracle errors below tolerance | +| Eliminate dense `_diag` residuals | **PASS** | 6,080→0 B at depth 2; 3,040→0 B at depth 1 | +| Materially change path or logical tape | **PASS** | logical tape reduced 13.4% and 17.3%; path FLOPs also changed | +| Schmidt candidate nondominated in compiler temp and warm runtime | **FAIL** | every Schmidt candidate was dominated by at least one dense candidate in both workloads | +| Qualitative result holds on two workloads | **PASS** | lower logical tape but worse executable Pareto on both | + +## Conclusion + +The operator-Schmidt lowering is mathematically correct and improves the +logical AD representation, but this explicit two-factor network is not a +performance win for the tested workloads. + +The supported result is: + +> Exposing the exact operator-Schmidt rank of RZZ eliminates dense gate +> construction residuals and reduces JAX's default logical VJP tape, but the +> additional factor nodes increase contraction work and are dominated by the +> dense representation after compiler lowering on these CPU workloads. + +This negative result rules out “factor every RZZ gate into two explicit +tensors” as the next default optimization. + +The next promising representation should preserve the rank-2 algebra without +materializing two generic tensors—for example, a fused structured RZZ +contraction/custom primitive—or move to Hamiltonian-level MPO/spatial-transfer +sharing, where repeated Pauli-term contraction is the larger source of +redundancy. + +CPU process RSS is not GPU peak memory. No accelerator-memory claim is made. + +## Repository Validation + +The final regression suite completed with: + +```text +100 passed in 516.05s +``` + +This includes dense backward-compatibility, RZZ factor reconstruction at +boundary angles and `complex128`, closed-network topology, incompatible-path +rejection, fresh-process transport for both representations, structured +residual attribution, named tape budgets, and the multi-workload energy and +complete-gradient oracle matrix. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-report-n3-d1.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-report-n3-d1.json new file mode 100644 index 000000000..d3e403af6 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-report-n3-d1.json @@ -0,0 +1,5306 @@ +{ + "request": { + "spec": { + "nqubits": 3, + "depth": 1, + "coupling": 0.7, + "field": 0.3, + "initial_state": "zero", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 180.0 + }, + "selected": { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 2.847049459000118, + "first_execute_seconds": 0.001074959000106901, + "warm_seconds_median": 0.00022912500207894482, + "warm_seconds_mad": 3.39579964929726e-05, + "peak_rss_bytes": 247136256, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 99194, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:conj": 560, + "primitive:exp": 320, + "primitive:concatenate": 160, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 4.428747417001432, + "first_execute_seconds": 0.0013819999985571485, + "warm_seconds_median": 0.00019029100076295435, + "warm_seconds_mad": 1.8165999790653586e-05, + "peak_rss_bytes": 256540672, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 98758, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4096 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 3.504064124997967, + "first_execute_seconds": 0.0013387090002652258, + "warm_seconds_median": 0.00020237499848008156, + "warm_seconds_mad": 4.699999772128649e-05, + "peak_rss_bytes": 227737600, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 98878, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:conj": 560, + "primitive:exp": 320, + "primitive:concatenate": 160, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 3.464275665999594, + "first_execute_seconds": 0.001304540997807635, + "warm_seconds_median": 0.0002153329987777397, + "warm_seconds_mad": 1.1082996934419498e-05, + "peak_rss_bytes": 241385472, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.623431672840726e-09, + "valid": true, + "failure": null, + "worker_pid": 99024, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.0055056787194872e-10, + -4.38399150315405e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4292 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "primitive:conj": 720, + "literal": 700, + "constant": 560, + "primitive:exp": 320, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 2.847049459000118, + "first_execute_seconds": 0.001074959000106901, + "warm_seconds_median": 0.00022912500207894482, + "warm_seconds_mad": 3.39579964929726e-05, + "peak_rss_bytes": 247136256, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 99194, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:conj": 560, + "primitive:exp": 320, + "primitive:concatenate": 160, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 16 + ], + [ + 2, + 8 + ], + [ + 0, + 4 + ], + [ + 12, + 15 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 3, + 14 + ], + [ + 2, + 12 + ], + [ + 7, + 14 + ], + [ + 2, + 7 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 0, + 2 + ], + [ + 2, + 7 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 4.740593374997843, + "first_execute_seconds": 0.002397791999101173, + "warm_seconds_median": 0.00036124999678577296, + "warm_seconds_mad": 5.129200144438073e-05, + "peak_rss_bytes": 224215040, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 7.687157938622377e-09, + "valid": true, + "failure": null, + "worker_pid": 99557, + "parent_pid": 98709, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 5.661980329030314e-10, + -2.0560778080103148e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4612 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 44, + "rematerialized_units": 44, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 61, + "total_bytes": 1864, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 1840, + "argument": 24 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 4.428747417001432, + "first_execute_seconds": 0.0013819999985571485, + "warm_seconds_median": 0.00019029100076295435, + "warm_seconds_mad": 1.8165999790653586e-05, + "peak_rss_bytes": 256540672, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 98758, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4096 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 5.41366887500044, + "first_execute_seconds": 0.0011216249986318871, + "warm_seconds_median": 0.0002602500026114285, + "warm_seconds_mad": 1.1333995644235983e-05, + "peak_rss_bytes": 259899392, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.750897569067712e-09, + "valid": true, + "failure": null, + "worker_pid": 98783, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 5.304134353956158e-10, + 2.460158188277717e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4356 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 24, + "rematerialized_units": 24, + "saved_named_units": 12, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 81, + "total_bytes": 2504, + "recomputable_bytes": 1920, + "bytes_by_category": { + "named": 1920, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements4:imag", + "contract:13:elements4:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 4.605743291998806, + "first_execute_seconds": 0.0011072499983129092, + "warm_seconds_median": 0.00023245900229085237, + "warm_seconds_mad": 3.3376003557350487e-05, + "peak_rss_bytes": 243105792, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.750897569067712e-09, + "valid": true, + "failure": null, + "worker_pid": 98854, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 5.304134353956158e-10, + 2.460158188277717e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4548 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 171, + "total_bytes": 3784, + "recomputable_bytes": 3200, + "bytes_by_category": { + "named": 3200, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:13:elements4:imag": 80, + "contract:13:elements4:real": 80, + "contract:15:elements4:imag": 80, + "contract:15:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 3.504064124997967, + "first_execute_seconds": 0.0013387090002652258, + "warm_seconds_median": 0.00020237499848008156, + "warm_seconds_mad": 4.699999772128649e-05, + "peak_rss_bytes": 227737600, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 98878, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:conj": 560, + "primitive:exp": 320, + "primitive:concatenate": 160, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 4.1553603329994075, + "first_execute_seconds": 0.0011470409990579356, + "warm_seconds_median": 0.0002717079987633042, + "warm_seconds_mad": 2.090018824674189e-07, + "peak_rss_bytes": 249954304, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.623431672840726e-09, + "valid": true, + "failure": null, + "worker_pid": 98893, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.0055056787194872e-10, + -4.38399150315405e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 5.406010624999908, + "first_execute_seconds": 0.004493874999752734, + "warm_seconds_median": 0.00028583300081663765, + "warm_seconds_mad": 5.7583001762395725e-05, + "peak_rss_bytes": 246464512, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.709335056137144e-09, + "valid": true, + "failure": null, + "worker_pid": 98913, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 7.559513015564789e-10, + -2.1961128748859693e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4608 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 24, + "rematerialized_units": 24, + "saved_named_units": 12, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 81, + "total_bytes": 2504, + "recomputable_bytes": 1920, + "bytes_by_category": { + "named": 1920, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 5.019517708999047, + "first_execute_seconds": 0.001378583998302929, + "warm_seconds_median": 0.00020900000163237564, + "warm_seconds_mad": 6.333000783342868e-06, + "peak_rss_bytes": 259276800, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.709335056137144e-09, + "valid": true, + "failure": null, + "worker_pid": 98994, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 7.559513015564789e-10, + -2.1961128748859693e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4480 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 171, + "total_bytes": 3784, + "recomputable_bytes": 3200, + "bytes_by_category": { + "named": 3200, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 3.464275665999594, + "first_execute_seconds": 0.001304540997807635, + "warm_seconds_median": 0.0002153329987777397, + "warm_seconds_mad": 1.1082996934419498e-05, + "peak_rss_bytes": 241385472, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.623431672840726e-09, + "valid": true, + "failure": null, + "worker_pid": 99024, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.0055056787194872e-10, + -4.38399150315405e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4292 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "primitive:conj": 720, + "literal": 700, + "constant": 560, + "primitive:exp": 320, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 4.510190584001975, + "first_execute_seconds": 0.0021699169992643874, + "warm_seconds_median": 0.00024404200303251855, + "warm_seconds_mad": 6.917001883266494e-06, + "peak_rss_bytes": 254509056, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 99046, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4096 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 4.503388083001482, + "first_execute_seconds": 0.001143207999120932, + "warm_seconds_median": 0.0002234999992651865, + "warm_seconds_mad": 1.4541001291945577e-05, + "peak_rss_bytes": 265289728, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.750897569067712e-09, + "valid": true, + "failure": null, + "worker_pid": 99107, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 5.304134353956158e-10, + 2.460158188277717e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4356 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 24, + "rematerialized_units": 24, + "saved_named_units": 12, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 81, + "total_bytes": 2504, + "recomputable_bytes": 1920, + "bytes_by_category": { + "named": 1920, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements4:imag", + "contract:13:elements4:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 5.554461959000037, + "first_execute_seconds": 0.001405125000019325, + "warm_seconds_median": 0.00027549999867915176, + "warm_seconds_mad": 3.699999797390774e-05, + "peak_rss_bytes": 251625472, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.750897569067712e-09, + "valid": true, + "failure": null, + "worker_pid": 99137, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 5.304134353956158e-10, + 2.460158188277717e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4548 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 171, + "total_bytes": 3784, + "recomputable_bytes": 3200, + "bytes_by_category": { + "named": 3200, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:13:elements4:imag": 80, + "contract:13:elements4:real": 80, + "contract:15:elements4:imag": 80, + "contract:15:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 7, + 15 + ], + [ + 3, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 11 + ], + [ + 2, + 13 + ], + [ + 2, + 8 + ], + [ + 3, + 6 + ], + [ + 4, + 9 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 2.847049459000118, + "first_execute_seconds": 0.001074959000106901, + "warm_seconds_median": 0.00022912500207894482, + "warm_seconds_mad": 3.39579964929726e-05, + "peak_rss_bytes": 247136256, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.683415865158461e-09, + "valid": true, + "failure": null, + "worker_pid": 99194, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5874784820013588e-10, + 2.7227942123175808e-11, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 400, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:conj": 560, + "primitive:exp": 320, + "primitive:concatenate": 160, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 3, + 13 + ], + [ + 4, + 14 + ], + [ + 10, + 18 + ], + [ + 3, + 10 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 3, + 15 + ], + [ + 8, + 15 + ], + [ + 3, + 8 + ], + [ + 6, + 9 + ], + [ + 5, + 11 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 4.735581458000524, + "first_execute_seconds": 0.002359167003305629, + "warm_seconds_median": 0.0002487090023350902, + "warm_seconds_mad": 1.1834003089461476e-05, + "peak_rss_bytes": 260931584, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.785048072280753e-09, + "valid": true, + "failure": null, + "worker_pid": 99230, + "parent_pid": 98709, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 3.915859303482705e-10, + 4.928790708902397e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4768 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 432, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 44, + "rematerialized_units": 44, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 61, + "total_bytes": 1864, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 1840, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 3, + 13 + ], + [ + 4, + 14 + ], + [ + 10, + 18 + ], + [ + 3, + 10 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 3, + 15 + ], + [ + 8, + 15 + ], + [ + 3, + 8 + ], + [ + 6, + 9 + ], + [ + 5, + 11 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:2:elements4:imag", + "contract:2:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 5.149880165998184, + "first_execute_seconds": 0.0027480839999043383, + "warm_seconds_median": 0.00030833300115773454, + "warm_seconds_mad": 1.2749998859362677e-05, + "peak_rss_bytes": 259620864, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.785048072280753e-09, + "valid": true, + "failure": null, + "worker_pid": 99286, + "parent_pid": 98709, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 3.915859303482705e-10, + 4.928790708902397e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4832 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 432, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 28, + "rematerialized_units": 28, + "saved_named_units": 16, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 126, + "total_bytes": 3464, + "recomputable_bytes": 1760, + "bytes_by_category": { + "named": 1760, + "constant": 1680, + "argument": 24 + }, + "bytes_by_name": { + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 3, + 13 + ], + [ + 4, + 14 + ], + [ + 10, + 18 + ], + [ + 3, + 10 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 3, + 15 + ], + [ + 8, + 15 + ], + [ + 3, + 8 + ], + [ + 6, + 9 + ], + [ + 5, + 11 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements4:imag", + "contract:19:elements4:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements1:imag", + "contract:21:elements1:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 5.089762125000561, + "first_execute_seconds": 0.005742082998040132, + "warm_seconds_median": 0.00021187499805819243, + "warm_seconds_mad": 1.4333003491628915e-05, + "peak_rss_bytes": 249643008, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.785048072280753e-09, + "valid": true, + "failure": null, + "worker_pid": 99323, + "parent_pid": 98709, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 3.915859303482705e-10, + 4.928790708902397e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4804 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 432, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 44, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 196, + "total_bytes": 4264, + "recomputable_bytes": 2880, + "bytes_by_category": { + "named": 2880, + "constant": 1360, + "argument": 24 + }, + "bytes_by_name": { + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:17:elements4:imag": 80, + "contract:17:elements4:real": 80, + "contract:19:elements4:imag": 80, + "contract:19:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:3:elements4:imag": 80, + "contract:3:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 3, + 13 + ], + [ + 4, + 14 + ], + [ + 10, + 18 + ], + [ + 3, + 10 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 3, + 15 + ], + [ + 8, + 15 + ], + [ + 3, + 8 + ], + [ + 6, + 9 + ], + [ + 5, + 11 + ], + [ + 3, + 11 + ], + [ + 6, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 4.018602125001053, + "first_execute_seconds": 0.0015059170000313316, + "warm_seconds_median": 0.0002374579999013804, + "warm_seconds_mad": 3.5207998735131696e-05, + "peak_rss_bytes": 235421696, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.785048072280753e-09, + "valid": true, + "failure": null, + "worker_pid": 99386, + "parent_pid": 98709, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 3.915859303482705e-10, + 4.928790708902397e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4640 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 432, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 380, + "total_bytes": 7420, + "recomputable_bytes": 5600, + "bytes_by_category": { + "primitive:dot_general": 2880, + "constant": 1200, + "primitive:conj": 880, + "primitive:convert_element_type": 640, + "primitive:stack": 640, + "literal": 620, + "primitive:cos": 200, + "primitive:sin": 200, + "primitive:concatenate": 160 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 4.612124999999651, + "first_execute_seconds": 0.0012297499997657724, + "warm_seconds_median": 0.00024583299818914384, + "warm_seconds_mad": 6.659975042566657e-07, + "peak_rss_bytes": 262864896, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.651592182864403e-09, + "valid": true, + "failure": null, + "worker_pid": 99417, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 6.244045280823229e-10, + -6.712626010596523e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 5088 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 44, + "rematerialized_units": 44, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 61, + "total_bytes": 1864, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 1840, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 3.8900878339991323, + "first_execute_seconds": 0.001515542000561254, + "warm_seconds_median": 0.00031550000130664557, + "warm_seconds_mad": 2.8165999538032338e-05, + "peak_rss_bytes": 260079616, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.651592182864403e-09, + "valid": true, + "failure": null, + "worker_pid": 99458, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 6.244045280823229e-10, + -6.712626010596523e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 5088 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 28, + "rematerialized_units": 28, + "saved_named_units": 16, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 111, + "total_bytes": 2984, + "recomputable_bytes": 1440, + "bytes_by_category": { + "constant": 1520, + "named": 1440, + "argument": 24 + }, + "bytes_by_name": { + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:7:elements8:imag": 160, + "contract:7:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements4:imag", + "contract:18:elements4:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements4:imag", + "contract:20:elements4:real", + "contract:21:elements1:imag", + "contract:21:elements1:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 3.7544425829983084, + "first_execute_seconds": 0.0012920000008307397, + "warm_seconds_median": 0.0003246670021326281, + "warm_seconds_mad": 6.916700294823386e-05, + "peak_rss_bytes": 257884160, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.651592182864403e-09, + "valid": true, + "failure": null, + "worker_pid": 99480, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 6.244045280823229e-10, + -6.712626010596523e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 5088 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 44, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 201, + "total_bytes": 4264, + "recomputable_bytes": 3040, + "bytes_by_category": { + "named": 3040, + "constant": 1200, + "argument": 24 + }, + "bytes_by_name": { + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:7:elements8:imag": 160, + "contract:7:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:17:elements4:imag": 80, + "contract:17:elements4:real": 80, + "contract:18:elements4:imag": 80, + "contract:18:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:20:elements4:imag": 80, + "contract:20:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:3:elements4:imag": 80, + "contract:3:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 3.5139735419979843, + "first_execute_seconds": 0.0018774590025714133, + "warm_seconds_median": 0.0003067500001634471, + "warm_seconds_mad": 5.741600034525618e-05, + "peak_rss_bytes": 240582656, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.651592182864403e-09, + "valid": true, + "failure": null, + "worker_pid": 99521, + "parent_pid": 98709, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 6.244045280823229e-10, + -6.712626010596523e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4740 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 380, + "total_bytes": 7260, + "recomputable_bytes": 5440, + "bytes_by_category": { + "primitive:dot_general": 3040, + "constant": 1200, + "primitive:conj": 880, + "primitive:convert_element_type": 640, + "literal": 620, + "primitive:stack": 320, + "primitive:cos": 200, + "primitive:sin": 200, + "primitive:concatenate": 160 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 16 + ], + [ + 2, + 8 + ], + [ + 0, + 4 + ], + [ + 12, + 15 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 3, + 14 + ], + [ + 2, + 12 + ], + [ + 7, + 14 + ], + [ + 2, + 7 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 0, + 2 + ], + [ + 2, + 7 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 4.740593374997843, + "first_execute_seconds": 0.002397791999101173, + "warm_seconds_median": 0.00036124999678577296, + "warm_seconds_mad": 5.129200144438073e-05, + "peak_rss_bytes": 224215040, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 7.687157938622377e-09, + "valid": true, + "failure": null, + "worker_pid": 99557, + "parent_pid": 98709, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 5.661980329030314e-10, + -2.0560778080103148e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4612 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 44, + "rematerialized_units": 44, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 61, + "total_bytes": 1864, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 1840, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 16 + ], + [ + 2, + 8 + ], + [ + 0, + 4 + ], + [ + 12, + 15 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 3, + 14 + ], + [ + 2, + 12 + ], + [ + 7, + 14 + ], + [ + 2, + 7 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 0, + 2 + ], + [ + 2, + 7 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:2:elements4:imag", + "contract:2:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 4.168393583000579, + "first_execute_seconds": 0.001766249999491265, + "warm_seconds_median": 0.0002067909990728367, + "warm_seconds_mad": 7.069975254125893e-07, + "peak_rss_bytes": 228622336, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 7.687157938622377e-09, + "valid": true, + "failure": null, + "worker_pid": 99617, + "parent_pid": 98709, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 5.661980329030314e-10, + -2.0560778080103148e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4612 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 28, + "rematerialized_units": 28, + "saved_named_units": 16, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 131, + "total_bytes": 3624, + "recomputable_bytes": 2080, + "bytes_by_category": { + "named": 2080, + "constant": 1520, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:17:elements8:imag": 160, + "contract:17:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 16 + ], + [ + 2, + 8 + ], + [ + 0, + 4 + ], + [ + 12, + 15 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 3, + 14 + ], + [ + 2, + 12 + ], + [ + 7, + 14 + ], + [ + 2, + 7 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 0, + 2 + ], + [ + 2, + 7 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements4:imag", + "contract:13:elements4:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements4:imag", + "contract:20:elements4:real", + "contract:21:elements1:imag", + "contract:21:elements1:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 3.97932766699887, + "first_execute_seconds": 0.0012414590019034222, + "warm_seconds_median": 0.00025616600032662973, + "warm_seconds_mad": 5.08399898535572e-06, + "peak_rss_bytes": 253345792, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 7.687157938622377e-09, + "valid": true, + "failure": null, + "worker_pid": 99646, + "parent_pid": 98709, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 5.661980329030314e-10, + -2.0560778080103148e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4612 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 44, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 211, + "total_bytes": 4744, + "recomputable_bytes": 3520, + "bytes_by_category": { + "named": 3520, + "constant": 1200, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:17:elements8:imag": 160, + "contract:17:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:3:elements4:imag": 80, + "contract:3:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 5, + 16 + ], + [ + 2, + 8 + ], + [ + 0, + 4 + ], + [ + 12, + 15 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 3, + 14 + ], + [ + 2, + 12 + ], + [ + 7, + 14 + ], + [ + 2, + 7 + ], + [ + 4, + 11 + ], + [ + 7, + 11 + ], + [ + 0, + 2 + ], + [ + 2, + 7 + ], + [ + 1, + 7 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 3.740907875002449, + "first_execute_seconds": 0.0011009589979948942, + "warm_seconds_median": 0.00025312499928986654, + "warm_seconds_mad": 3.3250002161366865e-05, + "peak_rss_bytes": 232046592, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 7.687157938622377e-09, + "valid": true, + "failure": null, + "worker_pid": 99705, + "parent_pid": 98709, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 5.661980329030314e-10, + -2.0560778080103148e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 4612 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 23, + "input_tensor_elements": 112, + "path_flops": 440, + "largest_intermediate_elements": 8, + "contraction_steps": 22, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 380, + "total_bytes": 7420, + "recomputable_bytes": 5600, + "bytes_by_category": { + "primitive:dot_general": 3520, + "constant": 1200, + "primitive:convert_element_type": 640, + "literal": 620, + "primitive:conj": 400, + "primitive:concatenate": 320, + "primitive:stack": 320, + "primitive:cos": 200, + "primitive:sin": 200 + }, + "bytes_by_name": {} + } + } + } + ], + "measurement_notes": { + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-report.json new file mode 100644 index 000000000..8f1c6134d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-operator-schmidt-report.json @@ -0,0 +1,9259 @@ +{ + "request": { + "spec": { + "nqubits": 3, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 240.0 + }, + "selected": { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 6.2814810419986316, + "first_execute_seconds": 0.0018865000020014122, + "warm_seconds_median": 0.0006241670016606804, + "warm_seconds_mad": 0.00011633300164248794, + "peak_rss_bytes": 257081344, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 98026, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 9476 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 740, + "total_bytes": 18660, + "recomputable_bytes": 15600, + "bytes_by_category": { + "primitive:dot_general": 9280, + "constant": 1840, + "primitive:conj": 1840, + "primitive:stack": 1600, + "primitive:convert_element_type": 1280, + "literal": 1220, + "primitive:concatenate": 800, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 3, + 14 + ], + [ + 3, + 13 + ], + [ + 7, + 9 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 5, + 17 + ], + [ + 1, + 3 + ], + [ + 0, + 20 + ], + [ + 5, + 14 + ], + [ + 2, + 16 + ], + [ + 0, + 11 + ], + [ + 2, + 14 + ], + [ + 10, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 0, + 12 + ], + [ + 5, + 8 + ], + [ + 9, + 10 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 2, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements16:imag", + "contract:13:elements16:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements16:imag", + "contract:17:elements16:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements4:imag", + "contract:19:elements4:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements4:imag", + "contract:23:elements4:real", + "contract:24:elements4:imag", + "contract:24:elements4:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements4:imag", + "contract:26:elements4:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements16:imag", + "contract:3:elements16:real", + "contract:4:elements16:imag", + "contract:4:elements16:real", + "contract:5:elements16:imag", + "contract:5:elements16:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.414860958997451, + "first_execute_seconds": 0.0027784160010924097, + "warm_seconds_median": 0.0003043329998035915, + "warm_seconds_mad": 3.408299744478427e-05, + "peak_rss_bytes": 315899904, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.6836251735785618e-07, + "valid": true, + "failure": null, + "worker_pid": 95475, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097292579710484, + 0.0010320800356566906, + 0.013129247352480888 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860761940479279, + 0.0 + ], + [ + -0.1398434340953827, + -0.21982772648334503, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 9284 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1080, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 261, + "total_bytes": 8608, + "recomputable_bytes": 8000, + "bytes_by_category": { + "named": 8000, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:13:elements16:imag": 320, + "contract:13:elements16:real": 320, + "contract:17:elements16:imag": 320, + "contract:17:elements16:real": 320, + "contract:4:elements16:imag": 320, + "contract:4:elements16:real": 320, + "contract:5:elements16:imag": 320, + "contract:5:elements16:real": 320, + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:19:elements4:imag": 80, + "contract:19:elements4:real": 80, + "contract:23:elements4:imag": 80, + "contract:23:elements4:real": 80, + "contract:24:elements4:imag": 80, + "contract:24:elements4:real": 80, + "contract:26:elements4:imag": 80, + "contract:26:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 3, + 14 + ], + [ + 3, + 13 + ], + [ + 7, + 9 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 5, + 17 + ], + [ + 1, + 3 + ], + [ + 0, + 20 + ], + [ + 5, + 14 + ], + [ + 2, + 16 + ], + [ + 0, + 11 + ], + [ + 2, + 14 + ], + [ + 10, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 0, + 12 + ], + [ + 5, + 8 + ], + [ + 9, + 10 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 2, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.298734208001406, + "first_execute_seconds": 0.005499792001501191, + "warm_seconds_median": 0.00033345900010317564, + "warm_seconds_mad": 2.008400042541325e-05, + "peak_rss_bytes": 233406464, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.1473124049629324e-07, + "valid": true, + "failure": null, + "worker_pid": 95561, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097292579710484, + 0.0010320800356566906, + 0.013129247352480888 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860761940479279, + 0.0 + ], + [ + -0.1398434340953827, + -0.21982772648334503, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8708 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1080, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 21540, + "recomputable_bytes": 19600, + "bytes_by_category": { + "primitive:dot_general": 8000, + "jitted:_diag": 6080, + "primitive:conj": 2320, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:concatenate": 800, + "primitive:exp": 640, + "constant": 560, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements16:imag", + "contract:15:elements16:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements4:imag", + "contract:26:elements4:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.35005375000037, + "first_execute_seconds": 0.0033039580011973158, + "warm_seconds_median": 0.00031058400054462254, + "warm_seconds_mad": 1.3329990906640887e-06, + "peak_rss_bytes": 301301760, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 95891, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 11588 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 271, + "total_bytes": 8928, + "recomputable_bytes": 8320, + "bytes_by_category": { + "named": 8320, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:15:elements16:imag": 320, + "contract:15:elements16:real": 320, + "contract:6:elements16:imag": 320, + "contract:6:elements16:real": 320, + "contract:7:elements16:imag": 320, + "contract:7:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:9:elements16:imag": 320, + "contract:9:elements16:real": 320, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:17:elements4:imag": 80, + "contract:17:elements4:real": 80, + "contract:26:elements4:imag": 80, + "contract:26:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 8.563585582996893, + "first_execute_seconds": 0.0014807919978920836, + "warm_seconds_median": 0.00035016699985135347, + "warm_seconds_mad": 3.595799717004411e-05, + "peak_rss_bytes": 282951680, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 96015, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 21700, + "recomputable_bytes": 19760, + "bytes_by_category": { + "primitive:dot_general": 8320, + "jitted:_diag": 6080, + "primitive:conj": 2480, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:exp": 640, + "constant": 560, + "primitive:concatenate": 480, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 25, + 28 + ], + [ + 5, + 17 + ], + [ + 19, + 21 + ], + [ + 3, + 15 + ], + [ + 14, + 24 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 19 + ], + [ + 3, + 5 + ], + [ + 14, + 18 + ], + [ + 11, + 14 + ], + [ + 0, + 13 + ], + [ + 7, + 14 + ], + [ + 11, + 14 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 1, + 11 + ], + [ + 5, + 10 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.518693458998314, + "first_execute_seconds": 0.004742666998936329, + "warm_seconds_median": 0.00019845800125040114, + "warm_seconds_mad": 1.1250012903474271e-06, + "peak_rss_bytes": 269107200, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.592941305526552e-08, + "valid": true, + "failure": null, + "worker_pid": 96410, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.23594620823860168, + 0.0 + ], + [ + -0.012097288854420185, + 0.0010320860892534256, + 0.013129246421158314 + ] + ], + [ + [ + 0.46938470005989075, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 9216 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1120, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 22020, + "recomputable_bytes": 20080, + "bytes_by_category": { + "primitive:dot_general": 8480, + "jitted:_diag": 6080, + "primitive:conj": 2160, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:concatenate": 960, + "primitive:exp": 640, + "constant": 560, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 26, + 30 + ], + [ + 19, + 34 + ], + [ + 2, + 9 + ], + [ + 2, + 17 + ], + [ + 3, + 18 + ], + [ + 2, + 15 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 5 + ], + [ + 14, + 17 + ], + [ + 17, + 21 + ], + [ + 11, + 24 + ], + [ + 2, + 5 + ], + [ + 11, + 13 + ], + [ + 7, + 20 + ], + [ + 13, + 14 + ], + [ + 19, + 20 + ], + [ + 5, + 18 + ], + [ + 6, + 7 + ], + [ + 6, + 16 + ], + [ + 1, + 9 + ], + [ + 3, + 12 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 9, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 2 + ], + [ + 4, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 8.568192291997548, + "first_execute_seconds": 0.003624958000727929, + "warm_seconds_median": 0.0005510830014827661, + "warm_seconds_mad": 7.080016075633466e-07, + "peak_rss_bytes": 235520000, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.01053313480608e-08, + "valid": true, + "failure": null, + "worker_pid": 96508, + "parent_pid": 95100, + "energy": -2.941286087036133, + "gradient": [ + [ + [ + 0.5112951397895813, + 0.2359461933374405, + 0.0 + ], + [ + -0.01209732610732317, + 0.0010320483706891537, + 0.0131292175501585 + ] + ], + [ + [ + 0.46938472986221313, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.219827800989151, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 11840 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1184, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 72, + "rematerialized_units": 72, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 101, + "total_bytes": 3168, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 3120, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 26, + 30 + ], + [ + 19, + 34 + ], + [ + 2, + 9 + ], + [ + 2, + 17 + ], + [ + 3, + 18 + ], + [ + 2, + 15 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 5 + ], + [ + 14, + 17 + ], + [ + 17, + 21 + ], + [ + 11, + 24 + ], + [ + 2, + 5 + ], + [ + 11, + 13 + ], + [ + 7, + 20 + ], + [ + 13, + 14 + ], + [ + 19, + 20 + ], + [ + 5, + 18 + ], + [ + 6, + 7 + ], + [ + 6, + 16 + ], + [ + 1, + 9 + ], + [ + 3, + 12 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 9, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 2 + ], + [ + 4, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 6.960108041999774, + "first_execute_seconds": 0.0019716669994522817, + "warm_seconds_median": 0.00042541700167930685, + "warm_seconds_mad": 5.6834000133676454e-05, + "peak_rss_bytes": 269844480, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.01053313480608e-08, + "valid": true, + "failure": null, + "worker_pid": 96915, + "parent_pid": 95100, + "energy": -2.941286087036133, + "gradient": [ + [ + [ + 0.5112951397895813, + 0.2359461933374405, + 0.0 + ], + [ + -0.01209732610732317, + 0.0010320483706891537, + 0.0131292175501585 + ] + ], + [ + [ + 0.46938472986221313, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.219827800989151, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 9668 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1184, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 740, + "total_bytes": 18660, + "recomputable_bytes": 15600, + "bytes_by_category": { + "primitive:dot_general": 9760, + "primitive:conj": 2000, + "constant": 1840, + "primitive:convert_element_type": 1280, + "primitive:stack": 1280, + "literal": 1220, + "primitive:concatenate": 480, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 13 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 3, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 6 + ], + [ + 1, + 6 + ], + [ + 6, + 11 + ], + [ + 4, + 12 + ], + [ + 7, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 11 + ], + [ + 3, + 11 + ], + [ + 3, + 11 + ], + [ + 2, + 10 + ], + [ + 6, + 10 + ], + [ + 0, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 8.509747750002134, + "first_execute_seconds": 0.0022848339976917487, + "warm_seconds_median": 0.0003512920011417009, + "warm_seconds_mad": 3.1875999411568046e-05, + "peak_rss_bytes": 291799040, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.301550891704255e-07, + "valid": true, + "failure": null, + "worker_pid": 97502, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097349390387535, + 0.0010320437140762806, + 0.013129222206771374 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128469437360764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 9476 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1456, + "largest_intermediate_elements": 32, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 256, + "residual_profile": { + "residual_count": 740, + "total_bytes": 19940, + "recomputable_bytes": 16880, + "bytes_by_category": { + "primitive:dot_general": 10240, + "primitive:conj": 2480, + "constant": 1840, + "primitive:stack": 1600, + "primitive:convert_element_type": 1280, + "literal": 1220, + "primitive:concatenate": 480, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:27:elements16:imag", + "contract:27:elements16:real", + "contract:28:elements16:imag", + "contract:28:elements16:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:6:elements8:imag", + "contract:6:elements8:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 14.55128729200078, + "first_execute_seconds": 0.018497417000617133, + "warm_seconds_median": 0.0005230419992585666, + "warm_seconds_mad": 2.1332998585421592e-05, + "peak_rss_bytes": 223756288, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 97692, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 10176 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 46, + "rematerialized_units": 46, + "saved_named_units": 26, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 206, + "total_bytes": 7648, + "recomputable_bytes": 4640, + "bytes_by_category": { + "named": 4640, + "constant": 2960, + "argument": 48 + }, + "bytes_by_name": { + "contract:27:elements16:imag": 320, + "contract:27:elements16:real": 320, + "contract:28:elements16:imag": 320, + "contract:28:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements16:imag", + "contract:27:elements16:real", + "contract:28:elements16:imag", + "contract:28:elements16:real", + "contract:29:elements8:imag", + "contract:29:elements8:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:31:elements8:imag", + "contract:31:elements8:real", + "contract:32:elements8:imag", + "contract:32:elements8:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:34:elements8:imag", + "contract:34:elements8:real", + "contract:35:elements1:imag", + "contract:35:elements1:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 7.593860749999294, + "first_execute_seconds": 0.0023758750030538067, + "warm_seconds_median": 0.00042145800034631975, + "warm_seconds_mad": 9.833299918682314e-05, + "peak_rss_bytes": 344080384, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 97891, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 9600 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 72, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 381, + "total_bytes": 11808, + "recomputable_bytes": 9280, + "bytes_by_category": { + "named": 9280, + "constant": 2480, + "argument": 48 + }, + "bytes_by_name": { + "contract:27:elements16:imag": 320, + "contract:27:elements16:real": 320, + "contract:28:elements16:imag": 320, + "contract:28:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:26:elements8:imag": 160, + "contract:26:elements8:real": 160, + "contract:29:elements8:imag": 160, + "contract:29:elements8:real": 160, + "contract:31:elements8:imag": 160, + "contract:31:elements8:real": 160, + "contract:32:elements8:imag": 160, + "contract:32:elements8:real": 160, + "contract:34:elements8:imag": 160, + "contract:34:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 6.2814810419986316, + "first_execute_seconds": 0.0018865000020014122, + "warm_seconds_median": 0.0006241670016606804, + "warm_seconds_mad": 0.00011633300164248794, + "peak_rss_bytes": 257081344, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 98026, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 9476 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 740, + "total_bytes": 18660, + "recomputable_bytes": 15600, + "bytes_by_category": { + "primitive:dot_general": 9280, + "constant": 1840, + "primitive:conj": 1840, + "primitive:stack": 1600, + "primitive:convert_element_type": 1280, + "literal": 1220, + "primitive:concatenate": 800, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 3, + 14 + ], + [ + 3, + 13 + ], + [ + 7, + 9 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 5, + 17 + ], + [ + 1, + 3 + ], + [ + 0, + 20 + ], + [ + 5, + 14 + ], + [ + 2, + 16 + ], + [ + 0, + 11 + ], + [ + 2, + 14 + ], + [ + 10, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 0, + 12 + ], + [ + 5, + 8 + ], + [ + 9, + 10 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 2, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 10.53063604199997, + "first_execute_seconds": 0.003531667000061134, + "warm_seconds_median": 0.0005094169973745011, + "warm_seconds_mad": 2.9499002266675234e-05, + "peak_rss_bytes": 282705920, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.6836251735785618e-07, + "valid": true, + "failure": null, + "worker_pid": 95134, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097292579710484, + 0.0010320800356566906, + 0.013129247352480888 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860761940479279, + 0.0 + ], + [ + -0.1398434340953827, + -0.21982772648334503, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 11008 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1080, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 21, + "total_bytes": 608, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 3, + 14 + ], + [ + 3, + 13 + ], + [ + 7, + 9 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 5, + 17 + ], + [ + 1, + 3 + ], + [ + 0, + 20 + ], + [ + 5, + 14 + ], + [ + 2, + 16 + ], + [ + 0, + 11 + ], + [ + 2, + 14 + ], + [ + 10, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 0, + 12 + ], + [ + 5, + 8 + ], + [ + 9, + 10 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 2, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:13:elements16:imag", + "contract:13:elements16:real", + "contract:17:elements16:imag", + "contract:17:elements16:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements16:imag", + "contract:3:elements16:real", + "contract:4:elements16:imag", + "contract:4:elements16:real", + "contract:5:elements16:imag", + "contract:5:elements16:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:8:elements4:imag", + "contract:8:elements4:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.213356791999104, + "first_execute_seconds": 0.004217916997731663, + "warm_seconds_median": 0.0003789169968513306, + "warm_seconds_mad": 3.083998308284208e-06, + "peak_rss_bytes": 292782080, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.6836251735785618e-07, + "valid": true, + "failure": null, + "worker_pid": 95337, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097292579710484, + 0.0010320800356566906, + 0.013129247352480888 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860761940479279, + 0.0 + ], + [ + -0.1398434340953827, + -0.21982772648334503, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 9092 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1080, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 20, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 111, + "total_bytes": 4608, + "recomputable_bytes": 4000, + "bytes_by_category": { + "named": 4000, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:13:elements16:imag": 320, + "contract:13:elements16:real": 320, + "contract:17:elements16:imag": 320, + "contract:17:elements16:real": 320, + "contract:4:elements16:imag": 320, + "contract:4:elements16:real": 320, + "contract:5:elements16:imag": 320, + "contract:5:elements16:real": 320, + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 3, + 14 + ], + [ + 3, + 13 + ], + [ + 7, + 9 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 5, + 17 + ], + [ + 1, + 3 + ], + [ + 0, + 20 + ], + [ + 5, + 14 + ], + [ + 2, + 16 + ], + [ + 0, + 11 + ], + [ + 2, + 14 + ], + [ + 10, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 0, + 12 + ], + [ + 5, + 8 + ], + [ + 9, + 10 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 2, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements16:imag", + "contract:13:elements16:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements16:imag", + "contract:17:elements16:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements4:imag", + "contract:19:elements4:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements4:imag", + "contract:23:elements4:real", + "contract:24:elements4:imag", + "contract:24:elements4:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements4:imag", + "contract:26:elements4:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements16:imag", + "contract:3:elements16:real", + "contract:4:elements16:imag", + "contract:4:elements16:real", + "contract:5:elements16:imag", + "contract:5:elements16:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.414860958997451, + "first_execute_seconds": 0.0027784160010924097, + "warm_seconds_median": 0.0003043329998035915, + "warm_seconds_mad": 3.408299744478427e-05, + "peak_rss_bytes": 315899904, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.6836251735785618e-07, + "valid": true, + "failure": null, + "worker_pid": 95475, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097292579710484, + 0.0010320800356566906, + 0.013129247352480888 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860761940479279, + 0.0 + ], + [ + -0.1398434340953827, + -0.21982772648334503, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 9284 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1080, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 261, + "total_bytes": 8608, + "recomputable_bytes": 8000, + "bytes_by_category": { + "named": 8000, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:13:elements16:imag": 320, + "contract:13:elements16:real": 320, + "contract:17:elements16:imag": 320, + "contract:17:elements16:real": 320, + "contract:4:elements16:imag": 320, + "contract:4:elements16:real": 320, + "contract:5:elements16:imag": 320, + "contract:5:elements16:real": 320, + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:19:elements4:imag": 80, + "contract:19:elements4:real": 80, + "contract:23:elements4:imag": 80, + "contract:23:elements4:real": 80, + "contract:24:elements4:imag": 80, + "contract:24:elements4:real": 80, + "contract:26:elements4:imag": 80, + "contract:26:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 3, + 14 + ], + [ + 3, + 13 + ], + [ + 7, + 9 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 5, + 17 + ], + [ + 1, + 3 + ], + [ + 0, + 20 + ], + [ + 5, + 14 + ], + [ + 2, + 16 + ], + [ + 0, + 11 + ], + [ + 2, + 14 + ], + [ + 10, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 12 + ], + [ + 0, + 12 + ], + [ + 5, + 8 + ], + [ + 9, + 10 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 2, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.298734208001406, + "first_execute_seconds": 0.005499792001501191, + "warm_seconds_median": 0.00033345900010317564, + "warm_seconds_mad": 2.008400042541325e-05, + "peak_rss_bytes": 233406464, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.1473124049629324e-07, + "valid": true, + "failure": null, + "worker_pid": 95561, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097292579710484, + 0.0010320800356566906, + 0.013129247352480888 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860761940479279, + 0.0 + ], + [ + -0.1398434340953827, + -0.21982772648334503, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 8708 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1080, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 21540, + "recomputable_bytes": 19600, + "bytes_by_category": { + "primitive:dot_general": 8000, + "jitted:_diag": 6080, + "primitive:conj": 2320, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:concatenate": 800, + "primitive:exp": 640, + "constant": 560, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 8.599390166000376, + "first_execute_seconds": 0.0026100830000359565, + "warm_seconds_median": 0.00045141599912312813, + "warm_seconds_mad": 4.0208000427810475e-05, + "peak_rss_bytes": 301662208, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 95663, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 12548 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 21, + "total_bytes": 608, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:15:elements16:imag", + "contract:15:elements16:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 10.10742666599981, + "first_execute_seconds": 0.004794915999809746, + "warm_seconds_median": 0.00043287500011501834, + "warm_seconds_mad": 0.0001596670008439105, + "peak_rss_bytes": 326369280, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 95764, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 12036 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 38, + "rematerialized_units": 38, + "saved_named_units": 18, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 111, + "total_bytes": 5088, + "recomputable_bytes": 4480, + "bytes_by_category": { + "named": 4480, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:15:elements16:imag": 320, + "contract:15:elements16:real": 320, + "contract:6:elements16:imag": 320, + "contract:6:elements16:real": 320, + "contract:7:elements16:imag": 320, + "contract:7:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:9:elements16:imag": 320, + "contract:9:elements16:real": 320, + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements16:imag", + "contract:15:elements16:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements4:imag", + "contract:26:elements4:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.35005375000037, + "first_execute_seconds": 0.0033039580011973158, + "warm_seconds_median": 0.00031058400054462254, + "warm_seconds_mad": 1.3329990906640887e-06, + "peak_rss_bytes": 301301760, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 95891, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 11588 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 271, + "total_bytes": 8928, + "recomputable_bytes": 8320, + "bytes_by_category": { + "named": 8320, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:15:elements16:imag": 320, + "contract:15:elements16:real": 320, + "contract:6:elements16:imag": 320, + "contract:6:elements16:real": 320, + "contract:7:elements16:imag": 320, + "contract:7:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:9:elements16:imag": 320, + "contract:9:elements16:real": 320, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:17:elements4:imag": 80, + "contract:17:elements4:real": 80, + "contract:26:elements4:imag": 80, + "contract:26:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 8.563585582996893, + "first_execute_seconds": 0.0014807919978920836, + "warm_seconds_median": 0.00035016699985135347, + "warm_seconds_mad": 3.595799717004411e-05, + "peak_rss_bytes": 282951680, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 96015, + "parent_pid": 95100, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 21700, + "recomputable_bytes": 19760, + "bytes_by_category": { + "primitive:dot_general": 8320, + "jitted:_diag": 6080, + "primitive:conj": 2480, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:exp": 640, + "constant": 560, + "primitive:concatenate": 480, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 25, + 28 + ], + [ + 5, + 17 + ], + [ + 19, + 21 + ], + [ + 3, + 15 + ], + [ + 14, + 24 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 19 + ], + [ + 3, + 5 + ], + [ + 14, + 18 + ], + [ + 11, + 14 + ], + [ + 0, + 13 + ], + [ + 7, + 14 + ], + [ + 11, + 14 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 1, + 11 + ], + [ + 5, + 10 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 10.536097125001106, + "first_execute_seconds": 0.0029479160002665594, + "warm_seconds_median": 0.0004593339981511235, + "warm_seconds_mad": 1.229100234922953e-05, + "peak_rss_bytes": 256262144, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.592941305526552e-08, + "valid": true, + "failure": null, + "worker_pid": 96162, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.23594620823860168, + 0.0 + ], + [ + -0.012097288854420185, + 0.0010320860892534256, + 0.013129246421158314 + ] + ], + [ + [ + 0.46938470005989075, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 11012 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1120, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 21, + "total_bytes": 608, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 25, + 28 + ], + [ + 5, + 17 + ], + [ + 19, + 21 + ], + [ + 3, + 15 + ], + [ + 14, + 24 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 19 + ], + [ + 3, + 5 + ], + [ + 14, + 18 + ], + [ + 11, + 14 + ], + [ + 0, + 13 + ], + [ + 7, + 14 + ], + [ + 11, + 14 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 1, + 11 + ], + [ + 5, + 10 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:10:elements16:imag", + "contract:10:elements16:real", + "contract:18:elements16:imag", + "contract:18:elements16:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:22:elements16:imag", + "contract:22:elements16:real", + "contract:24:elements16:imag", + "contract:24:elements16:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements16:imag", + "contract:2:elements16:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements8:imag", + "contract:4:elements8:real", + "contract:8:elements16:imag", + "contract:8:elements16:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.429256540999631, + "first_execute_seconds": 0.003304791996924905, + "warm_seconds_median": 0.0005810830007249024, + "warm_seconds_mad": 1.758399957907386e-05, + "peak_rss_bytes": 294600704, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.592941305526552e-08, + "valid": true, + "failure": null, + "worker_pid": 96266, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.23594620823860168, + 0.0 + ], + [ + -0.012097288854420185, + 0.0010320860892534256, + 0.013129246421158314 + ] + ], + [ + [ + 0.46938470005989075, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 248, + "temp_size_in_bytes": 10820 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1120, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 20, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 101, + "total_bytes": 4768, + "recomputable_bytes": 4160, + "bytes_by_category": { + "named": 4160, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:10:elements16:imag": 320, + "contract:10:elements16:real": 320, + "contract:18:elements16:imag": 320, + "contract:18:elements16:real": 320, + "contract:22:elements16:imag": 320, + "contract:22:elements16:real": 320, + "contract:24:elements16:imag": 320, + "contract:24:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:4:elements8:imag": 160, + "contract:4:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 25, + 28 + ], + [ + 5, + 17 + ], + [ + 19, + 21 + ], + [ + 3, + 15 + ], + [ + 14, + 24 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 19 + ], + [ + 3, + 5 + ], + [ + 14, + 18 + ], + [ + 11, + 14 + ], + [ + 0, + 13 + ], + [ + 7, + 14 + ], + [ + 11, + 14 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 1, + 11 + ], + [ + 5, + 10 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements16:imag", + "contract:10:elements16:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements16:imag", + "contract:18:elements16:real", + "contract:19:elements4:imag", + "contract:19:elements4:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements16:imag", + "contract:22:elements16:real", + "contract:23:elements4:imag", + "contract:23:elements4:real", + "contract:24:elements16:imag", + "contract:24:elements16:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements16:imag", + "contract:2:elements16:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements8:imag", + "contract:4:elements8:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 10.273595582999405, + "first_execute_seconds": 0.005474707999383099, + "warm_seconds_median": 0.0003581670025596395, + "warm_seconds_mad": 3.082997864112258e-06, + "peak_rss_bytes": 246890496, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.592941305526552e-08, + "valid": true, + "failure": null, + "worker_pid": 96333, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.23594620823860168, + 0.0 + ], + [ + -0.012097288854420185, + 0.0010320860892534256, + 0.013129246421158314 + ] + ], + [ + [ + 0.46938470005989075, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 10052 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1120, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 261, + "total_bytes": 9088, + "recomputable_bytes": 8480, + "bytes_by_category": { + "named": 8480, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:10:elements16:imag": 320, + "contract:10:elements16:real": 320, + "contract:18:elements16:imag": 320, + "contract:18:elements16:real": 320, + "contract:22:elements16:imag": 320, + "contract:22:elements16:real": 320, + "contract:24:elements16:imag": 320, + "contract:24:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:17:elements8:imag": 160, + "contract:17:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:26:elements8:imag": 160, + "contract:26:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:19:elements4:imag": 80, + "contract:19:elements4:real": 80, + "contract:23:elements4:imag": 80, + "contract:23:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 25, + 28 + ], + [ + 5, + 17 + ], + [ + 19, + 21 + ], + [ + 3, + 15 + ], + [ + 14, + 24 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 19 + ], + [ + 3, + 5 + ], + [ + 14, + 18 + ], + [ + 11, + 14 + ], + [ + 0, + 13 + ], + [ + 7, + 14 + ], + [ + 11, + 14 + ], + [ + 6, + 13 + ], + [ + 11, + 13 + ], + [ + 1, + 11 + ], + [ + 5, + 10 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "representation": "direct_tn" + }, + "compile_seconds": 9.518693458998314, + "first_execute_seconds": 0.004742666998936329, + "warm_seconds_median": 0.00019845800125040114, + "warm_seconds_mad": 1.1250012903474271e-06, + "peak_rss_bytes": 269107200, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.592941305526552e-08, + "valid": true, + "failure": null, + "worker_pid": 96410, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.23594620823860168, + 0.0 + ], + [ + -0.012097288854420185, + 0.0010320860892534256, + 0.013129246421158314 + ] + ], + [ + [ + 0.46938470005989075, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 9216 + }, + "static_estimate": { + "gate_representation": "dense", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1120, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 22020, + "recomputable_bytes": 20080, + "bytes_by_category": { + "primitive:dot_general": 8480, + "jitted:_diag": 6080, + "primitive:conj": 2160, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:concatenate": 960, + "primitive:exp": 640, + "constant": 560, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 26, + 30 + ], + [ + 19, + 34 + ], + [ + 2, + 9 + ], + [ + 2, + 17 + ], + [ + 3, + 18 + ], + [ + 2, + 15 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 5 + ], + [ + 14, + 17 + ], + [ + 17, + 21 + ], + [ + 11, + 24 + ], + [ + 2, + 5 + ], + [ + 11, + 13 + ], + [ + 7, + 20 + ], + [ + 13, + 14 + ], + [ + 19, + 20 + ], + [ + 5, + 18 + ], + [ + 6, + 7 + ], + [ + 6, + 16 + ], + [ + 1, + 9 + ], + [ + 3, + 12 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 9, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 2 + ], + [ + 4, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 8.568192291997548, + "first_execute_seconds": 0.003624958000727929, + "warm_seconds_median": 0.0005510830014827661, + "warm_seconds_mad": 7.080016075633466e-07, + "peak_rss_bytes": 235520000, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.01053313480608e-08, + "valid": true, + "failure": null, + "worker_pid": 96508, + "parent_pid": 95100, + "energy": -2.941286087036133, + "gradient": [ + [ + [ + 0.5112951397895813, + 0.2359461933374405, + 0.0 + ], + [ + -0.01209732610732317, + 0.0010320483706891537, + 0.0131292175501585 + ] + ], + [ + [ + 0.46938472986221313, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.219827800989151, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 11840 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1184, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 72, + "rematerialized_units": 72, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 101, + "total_bytes": 3168, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 3120, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 26, + 30 + ], + [ + 19, + 34 + ], + [ + 2, + 9 + ], + [ + 2, + 17 + ], + [ + 3, + 18 + ], + [ + 2, + 15 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 5 + ], + [ + 14, + 17 + ], + [ + 17, + 21 + ], + [ + 11, + 24 + ], + [ + 2, + 5 + ], + [ + 11, + 13 + ], + [ + 7, + 20 + ], + [ + 13, + 14 + ], + [ + 19, + 20 + ], + [ + 5, + 18 + ], + [ + 6, + 7 + ], + [ + 6, + 16 + ], + [ + 1, + 9 + ], + [ + 3, + 12 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 9, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 2 + ], + [ + 4, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:26:elements16:imag", + "contract:26:elements16:real", + "contract:28:elements16:imag", + "contract:28:elements16:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:35:elements1:imag", + "contract:35:elements1:real", + "contract:8:elements8:imag", + "contract:8:elements8:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 12.204761749999307, + "first_execute_seconds": 0.003019584000867326, + "warm_seconds_median": 0.0004564580012811348, + "warm_seconds_mad": 4.875000740867108e-06, + "peak_rss_bytes": 236666880, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.01053313480608e-08, + "valid": true, + "failure": null, + "worker_pid": 96566, + "parent_pid": 95100, + "energy": -2.941286087036133, + "gradient": [ + [ + [ + 0.5112951397895813, + 0.2359461933374405, + 0.0 + ], + [ + -0.01209732610732317, + 0.0010320483706891537, + 0.0131292175501585 + ] + ], + [ + [ + 0.46938472986221313, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.219827800989151, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 11392 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1184, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 46, + "rematerialized_units": 46, + "saved_named_units": 26, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 211, + "total_bytes": 7968, + "recomputable_bytes": 4800, + "bytes_by_category": { + "named": 4800, + "constant": 3120, + "argument": 48 + }, + "bytes_by_name": { + "contract:26:elements16:imag": 320, + "contract:26:elements16:real": 320, + "contract:28:elements16:imag": 320, + "contract:28:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 26, + 30 + ], + [ + 19, + 34 + ], + [ + 2, + 9 + ], + [ + 2, + 17 + ], + [ + 3, + 18 + ], + [ + 2, + 15 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 5 + ], + [ + 14, + 17 + ], + [ + 17, + 21 + ], + [ + 11, + 24 + ], + [ + 2, + 5 + ], + [ + 11, + 13 + ], + [ + 7, + 20 + ], + [ + 13, + 14 + ], + [ + 19, + 20 + ], + [ + 5, + 18 + ], + [ + 6, + 7 + ], + [ + 6, + 16 + ], + [ + 1, + 9 + ], + [ + 3, + 12 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 9, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 2 + ], + [ + 4, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements4:imag", + "contract:13:elements4:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements4:imag", + "contract:20:elements4:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements4:imag", + "contract:24:elements4:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements16:imag", + "contract:26:elements16:real", + "contract:27:elements8:imag", + "contract:27:elements8:real", + "contract:28:elements16:imag", + "contract:28:elements16:real", + "contract:29:elements8:imag", + "contract:29:elements8:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:31:elements8:imag", + "contract:31:elements8:real", + "contract:32:elements8:imag", + "contract:32:elements8:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:34:elements8:imag", + "contract:34:elements8:real", + "contract:35:elements1:imag", + "contract:35:elements1:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 8.890179457997874, + "first_execute_seconds": 0.0019168750004610047, + "warm_seconds_median": 0.0005020830030844081, + "warm_seconds_mad": 2.3541000700788572e-05, + "peak_rss_bytes": 316162048, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.01053313480608e-08, + "valid": true, + "failure": null, + "worker_pid": 96833, + "parent_pid": 95100, + "energy": -2.941286087036133, + "gradient": [ + [ + [ + 0.5112951397895813, + 0.2359461933374405, + 0.0 + ], + [ + -0.01209732610732317, + 0.0010320483706891537, + 0.0131292175501585 + ] + ], + [ + [ + 0.46938472986221313, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.219827800989151, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 9600 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1184, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 72, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 401, + "total_bytes": 12288, + "recomputable_bytes": 9760, + "bytes_by_category": { + "named": 9760, + "constant": 2480, + "argument": 48 + }, + "bytes_by_name": { + "contract:26:elements16:imag": 320, + "contract:26:elements16:real": 320, + "contract:28:elements16:imag": 320, + "contract:28:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:27:elements8:imag": 160, + "contract:27:elements8:real": 160, + "contract:29:elements8:imag": 160, + "contract:29:elements8:real": 160, + "contract:31:elements8:imag": 160, + "contract:31:elements8:real": 160, + "contract:32:elements8:imag": 160, + "contract:32:elements8:real": 160, + "contract:34:elements8:imag": 160, + "contract:34:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:13:elements4:imag": 80, + "contract:13:elements4:real": 80, + "contract:15:elements4:imag": 80, + "contract:15:elements4:real": 80, + "contract:17:elements4:imag": 80, + "contract:17:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:24:elements4:imag": 80, + "contract:24:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 26, + 30 + ], + [ + 19, + 34 + ], + [ + 2, + 9 + ], + [ + 2, + 17 + ], + [ + 3, + 18 + ], + [ + 2, + 15 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 2, + 5 + ], + [ + 14, + 17 + ], + [ + 17, + 21 + ], + [ + 11, + 24 + ], + [ + 2, + 5 + ], + [ + 11, + 13 + ], + [ + 7, + 20 + ], + [ + 13, + 14 + ], + [ + 19, + 20 + ], + [ + 5, + 18 + ], + [ + 6, + 7 + ], + [ + 6, + 16 + ], + [ + 1, + 9 + ], + [ + 3, + 12 + ], + [ + 0, + 6 + ], + [ + 3, + 7 + ], + [ + 4, + 9 + ], + [ + 9, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 2 + ], + [ + 4, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 5 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 6.960108041999774, + "first_execute_seconds": 0.0019716669994522817, + "warm_seconds_median": 0.00042541700167930685, + "warm_seconds_mad": 5.6834000133676454e-05, + "peak_rss_bytes": 269844480, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.01053313480608e-08, + "valid": true, + "failure": null, + "worker_pid": 96915, + "parent_pid": 95100, + "energy": -2.941286087036133, + "gradient": [ + [ + [ + 0.5112951397895813, + 0.2359461933374405, + 0.0 + ], + [ + -0.01209732610732317, + 0.0010320483706891537, + 0.0131292175501585 + ] + ], + [ + [ + 0.46938472986221313, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.219827800989151, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 9668 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1184, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 740, + "total_bytes": 18660, + "recomputable_bytes": 15600, + "bytes_by_category": { + "primitive:dot_general": 9760, + "primitive:conj": 2000, + "constant": 1840, + "primitive:convert_element_type": 1280, + "primitive:stack": 1280, + "literal": 1220, + "primitive:concatenate": 480, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 13 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 3, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 6 + ], + [ + 1, + 6 + ], + [ + 6, + 11 + ], + [ + 4, + 12 + ], + [ + 7, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 11 + ], + [ + 3, + 11 + ], + [ + 3, + 11 + ], + [ + 2, + 10 + ], + [ + 6, + 10 + ], + [ + 0, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 9.868604084000253, + "first_execute_seconds": 0.0029906250019848812, + "warm_seconds_median": 0.0006991670015850104, + "warm_seconds_mad": 9.891700028674677e-05, + "peak_rss_bytes": 237371392, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.301550891704255e-07, + "valid": true, + "failure": null, + "worker_pid": 97011, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097349390387535, + 0.0010320437140762806, + 0.013129222206771374 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128469437360764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 12676 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1456, + "largest_intermediate_elements": 32, + "contraction_steps": 36, + "rematerialized_steps": 72, + "rematerialized_units": 72, + "saved_named_units": 0, + "max_step_output_bytes": 256, + "residual_profile": { + "residual_count": 101, + "total_bytes": 3168, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 3120, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 13 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 3, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 6 + ], + [ + 1, + 6 + ], + [ + 6, + 11 + ], + [ + 4, + 12 + ], + [ + 7, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 11 + ], + [ + 3, + 11 + ], + [ + 3, + 11 + ], + [ + 2, + 10 + ], + [ + 6, + 10 + ], + [ + 0, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:26:elements16:imag", + "contract:26:elements16:real", + "contract:27:elements16:imag", + "contract:27:elements16:real", + "contract:28:elements32:imag", + "contract:28:elements32:real", + "contract:29:elements16:imag", + "contract:29:elements16:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 10.885839583002962, + "first_execute_seconds": 0.0026854579991777427, + "warm_seconds_median": 0.0005418750006356277, + "warm_seconds_mad": 4.833000275539234e-06, + "peak_rss_bytes": 252018688, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.301550891704255e-07, + "valid": true, + "failure": null, + "worker_pid": 97218, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097349390387535, + 0.0010320437140762806, + 0.013129222206771374 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128469437360764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 11908 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1456, + "largest_intermediate_elements": 32, + "contraction_steps": 36, + "rematerialized_steps": 48, + "rematerialized_units": 48, + "saved_named_units": 24, + "max_step_output_bytes": 256, + "residual_profile": { + "residual_count": 211, + "total_bytes": 9088, + "recomputable_bytes": 5920, + "bytes_by_category": { + "named": 5920, + "constant": 3120, + "argument": 48 + }, + "bytes_by_name": { + "contract:28:elements32:imag": 640, + "contract:28:elements32:real": 640, + "contract:26:elements16:imag": 320, + "contract:26:elements16:real": 320, + "contract:27:elements16:imag": 320, + "contract:27:elements16:real": 320, + "contract:29:elements16:imag": 320, + "contract:29:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:7:elements8:imag": 160, + "contract:7:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 13 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 3, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 6 + ], + [ + 1, + 6 + ], + [ + 6, + 11 + ], + [ + 4, + 12 + ], + [ + 7, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 11 + ], + [ + 3, + 11 + ], + [ + 3, + 11 + ], + [ + 2, + 10 + ], + [ + 6, + 10 + ], + [ + 0, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements16:imag", + "contract:26:elements16:real", + "contract:27:elements16:imag", + "contract:27:elements16:real", + "contract:28:elements32:imag", + "contract:28:elements32:real", + "contract:29:elements16:imag", + "contract:29:elements16:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:31:elements8:imag", + "contract:31:elements8:real", + "contract:32:elements8:imag", + "contract:32:elements8:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:34:elements8:imag", + "contract:34:elements8:real", + "contract:35:elements1:imag", + "contract:35:elements1:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 10.728494582999701, + "first_execute_seconds": 0.004628958999091992, + "warm_seconds_median": 0.0005171249977138359, + "warm_seconds_mad": 1.4170036592986435e-06, + "peak_rss_bytes": 268943360, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.301550891704255e-07, + "valid": true, + "failure": null, + "worker_pid": 97403, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097349390387535, + 0.0010320437140762806, + 0.013129222206771374 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128469437360764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 10116 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1456, + "largest_intermediate_elements": 32, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 72, + "max_step_output_bytes": 256, + "residual_profile": { + "residual_count": 361, + "total_bytes": 12768, + "recomputable_bytes": 10240, + "bytes_by_category": { + "named": 10240, + "constant": 2480, + "argument": 48 + }, + "bytes_by_name": { + "contract:28:elements32:imag": 640, + "contract:28:elements32:real": 640, + "contract:26:elements16:imag": 320, + "contract:26:elements16:real": 320, + "contract:27:elements16:imag": 320, + "contract:27:elements16:real": 320, + "contract:29:elements16:imag": 320, + "contract:29:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:12:elements8:imag": 160, + "contract:12:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:31:elements8:imag": 160, + "contract:31:elements8:real": 160, + "contract:34:elements8:imag": 160, + "contract:34:elements8:real": 160, + "contract:7:elements8:imag": 160, + "contract:7:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:15:elements4:imag": 80, + "contract:15:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:3:elements4:imag": 80, + "contract:3:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 14 + ], + [ + 0, + 13 + ], + [ + 0, + 13 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 3, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 6 + ], + [ + 1, + 6 + ], + [ + 6, + 11 + ], + [ + 4, + 12 + ], + [ + 7, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 11 + ], + [ + 3, + 11 + ], + [ + 3, + 11 + ], + [ + 2, + 10 + ], + [ + 6, + 10 + ], + [ + 0, + 6 + ], + [ + 2, + 8 + ], + [ + 1, + 7 + ], + [ + 5, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 8.509747750002134, + "first_execute_seconds": 0.0022848339976917487, + "warm_seconds_median": 0.0003512920011417009, + "warm_seconds_mad": 3.1875999411568046e-05, + "peak_rss_bytes": 291799040, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.301550891704255e-07, + "valid": true, + "failure": null, + "worker_pid": 97502, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097349390387535, + 0.0010320437140762806, + 0.013129222206771374 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128469437360764 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 9476 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1456, + "largest_intermediate_elements": 32, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 256, + "residual_profile": { + "residual_count": 740, + "total_bytes": 19940, + "recomputable_bytes": 16880, + "bytes_by_category": { + "primitive:dot_general": 10240, + "primitive:conj": 2480, + "constant": 1840, + "primitive:stack": 1600, + "primitive:convert_element_type": 1280, + "literal": 1220, + "primitive:concatenate": 480, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 11.136560915998416, + "first_execute_seconds": 0.0027111669987789355, + "warm_seconds_median": 0.0005392500024754554, + "warm_seconds_mad": 2.550000135670416e-05, + "peak_rss_bytes": 315375616, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 97567, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 11844 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 72, + "rematerialized_units": 72, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 101, + "total_bytes": 3168, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 3120, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:27:elements16:imag", + "contract:27:elements16:real", + "contract:28:elements16:imag", + "contract:28:elements16:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:6:elements8:imag", + "contract:6:elements8:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 14.55128729200078, + "first_execute_seconds": 0.018497417000617133, + "warm_seconds_median": 0.0005230419992585666, + "warm_seconds_mad": 2.1332998585421592e-05, + "peak_rss_bytes": 223756288, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 97692, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 10176 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 46, + "rematerialized_units": 46, + "saved_named_units": 26, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 206, + "total_bytes": 7648, + "recomputable_bytes": 4640, + "bytes_by_category": { + "named": 4640, + "constant": 2960, + "argument": 48 + }, + "bytes_by_name": { + "contract:27:elements16:imag": 320, + "contract:27:elements16:real": 320, + "contract:28:elements16:imag": 320, + "contract:28:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements16:imag", + "contract:27:elements16:real", + "contract:28:elements16:imag", + "contract:28:elements16:real", + "contract:29:elements8:imag", + "contract:29:elements8:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:30:elements16:imag", + "contract:30:elements16:real", + "contract:31:elements8:imag", + "contract:31:elements8:real", + "contract:32:elements8:imag", + "contract:32:elements8:real", + "contract:33:elements16:imag", + "contract:33:elements16:real", + "contract:34:elements8:imag", + "contract:34:elements8:real", + "contract:35:elements1:imag", + "contract:35:elements1:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 7.593860749999294, + "first_execute_seconds": 0.0023758750030538067, + "warm_seconds_median": 0.00042145800034631975, + "warm_seconds_mad": 9.833299918682314e-05, + "peak_rss_bytes": 344080384, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 97891, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 9600 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 72, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 381, + "total_bytes": 11808, + "recomputable_bytes": 9280, + "bytes_by_category": { + "named": 9280, + "constant": 2480, + "argument": 48 + }, + "bytes_by_name": { + "contract:27:elements16:imag": 320, + "contract:27:elements16:real": 320, + "contract:28:elements16:imag": 320, + "contract:28:elements16:real": 320, + "contract:30:elements16:imag": 320, + "contract:30:elements16:real": 320, + "contract:33:elements16:imag": 320, + "contract:33:elements16:real": 320, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:26:elements8:imag": 160, + "contract:26:elements8:real": 160, + "contract:29:elements8:imag": 160, + "contract:29:elements8:real": 160, + "contract:31:elements8:imag": 160, + "contract:31:elements8:real": 160, + "contract:32:elements8:imag": 160, + "contract:32:elements8:real": 160, + "contract:34:elements8:imag": 160, + "contract:34:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:1:elements4:imag": 80, + "contract:1:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 5, + 23 + ], + [ + 0, + 5 + ], + [ + 22, + 33 + ], + [ + 5, + 8 + ], + [ + 25, + 28 + ], + [ + 1, + 5 + ], + [ + 4, + 6 + ], + [ + 0, + 3 + ], + [ + 0, + 9 + ], + [ + 0, + 8 + ], + [ + 8, + 25 + ], + [ + 11, + 20 + ], + [ + 12, + 14 + ], + [ + 16, + 19 + ], + [ + 18, + 19 + ], + [ + 9, + 19 + ], + [ + 13, + 18 + ], + [ + 0, + 14 + ], + [ + 4, + 14 + ], + [ + 3, + 12 + ], + [ + 11, + 12 + ], + [ + 2, + 12 + ], + [ + 3, + 9 + ], + [ + 5, + 6 + ], + [ + 2, + 10 + ], + [ + 4, + 10 + ], + [ + 2, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 0, + 6 + ], + [ + 1, + 4 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "operator_schmidt", + "representation": "direct_tn" + }, + "compile_seconds": 6.2814810419986316, + "first_execute_seconds": 0.0018865000020014122, + "warm_seconds_median": 0.0006241670016606804, + "warm_seconds_mad": 0.00011633300164248794, + "peak_rss_bytes": 257081344, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.6600747336550306e-07, + "valid": true, + "failure": null, + "worker_pid": 98026, + "parent_pid": 95100, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097341008484364, + 0.001032036729156971, + 0.013129220344126225 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 260, + "temp_size_in_bytes": 9476 + }, + "static_estimate": { + "gate_representation": "operator_schmidt", + "tensor_count": 37, + "input_tensor_elements": 200, + "path_flops": 1200, + "largest_intermediate_elements": 16, + "contraction_steps": 36, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 740, + "total_bytes": 18660, + "recomputable_bytes": 15600, + "bytes_by_category": { + "primitive:dot_general": 9280, + "constant": 1840, + "primitive:conj": 1840, + "primitive:stack": 1600, + "primitive:convert_element_type": 1280, + "literal": 1220, + "primitive:concatenate": 800, + "primitive:cos": 400, + "primitive:sin": 400 + }, + "bytes_by_name": {} + } + } + } + ], + "measurement_notes": { + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-prototype-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-prototype-findings.md new file mode 100644 index 000000000..162584e91 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-prototype-findings.md @@ -0,0 +1,95 @@ +# VQETape Oracle Prototype Findings + +**Date:** 2026-07-28 +**Backend:** JAX 0.11.0 CPU on macOS +**Precision:** `complex64` +**Task:** exact TFIM VQE energy and full reverse-mode gradient + +## Verification + +- Test suite: **40 passed** +- Full-suite wall time: **505.12 s** +- Every benchmark candidate executed in a fresh process. +- Every candidate in both experiments passed full-gradient correctness. +- CPU process peak RSS and JAX executable memory analysis are reported + separately. Neither is interpreted as GPU peak memory. + +## Experiment 1: 4 qubits, 4 layers + +- Candidates: **16** +- Correct candidates: **16** +- Pareto candidates: **7** +- \(K\)-aware selection for \(K=100\): + `scan-segmented-u2-s1` +- Selected gradient relative L2 error: \(3.58\times10^{-8}\) + +Representative JAX compiler temporary-memory estimates: + +| Program | Temporary bytes | Warm median | +|---|---:|---:| +| `scan-default-u1` | 9,704 | 0.159 ms | +| `scan-remat-u1` | 3,536 | 0.371 ms | +| `scan-segmented-u1-s1` | 3,648 | 0.216 ms | + +Relative to default scan, compiler-reported temporary memory decreased by: + +- rematerialization: **63.6%** +- segmented adjoint: **62.4%** + +## Experiment 2: 5 qubits, 6 layers + +- Candidates: **19** +- Correct candidates: **19** +- Pareto candidates: **6** +- \(K\)-aware selection for \(K=100\): + `scan-segmented-u4-s1` +- Selected gradient relative L2 error: \(6.23\times10^{-8}\) + +Representative JAX compiler temporary-memory estimates: + +| Program | Temporary bytes | Warm median | +|---|---:|---:| +| `scan-default-u1` | 26,552 | 0.391 ms | +| `scan-remat-u1` | 8,544 | 0.596 ms | +| `scan-segmented-u1-s2` | 12,792 | 0.397 ms | + +Relative to default scan, compiler-reported temporary memory decreased by: + +- rematerialization: **67.8%** +- segmented adjoint with segment length 2: **51.8%** + +## What the Evidence Supports + +1. Reverse-mode schedule choices materially change compiler-reported temporary + memory for the exact VQE full-gradient kernel. +2. Segmented custom-adjoint candidates appear on the measured compile/warm/RSS + Pareto frontier at both tested sizes. +3. Full-gradient correctness is preserved across unrolled, scan, + rematerialized, and segmented programs. +4. The prototype's first decision gates are satisfied, so implementing direct + bra-Hamiltonian-ket tensor programs is justified. + +## What the Evidence Does Not Support + +1. It does **not** prove a GPU peak-memory reduction. These experiments ran on + CPU and process RSS is dominated by runtime/library overhead. +2. It does **not** show that segmented scheduling is uniformly better than + generic rematerialization. Generic rematerialization produced the smallest + compiler temporary-memory estimate in both experiments. +3. Compile-time measurements show substantial fresh-process variance and host + contention. A paper-quality result needs multiple independent cold trials. +4. Sub-millisecond warm calls are too short for stable performance claims. + Future benchmarks must execute batches of repeated optimizer steps per + timed sample. +5. The state-vector oracle does not change asymptotic complexity. VQETape's + tensor-contraction claim still requires the next direct scalar-contraction + phase. + +## Decision + +Proceed to phase 2 with a narrow target: + +> Lower the same 1D TFIM VQE objective to an exact direct +> bra-Hamiltonian-ket tensor program, expose its contraction intermediates, +> derive its adjoint residual graph, and compare fixed-path rematerialization +> with joint block/path/tape choices. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-residual-aware-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-residual-aware-findings.md new file mode 100644 index 000000000..c52591a82 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-residual-aware-findings.md @@ -0,0 +1,90 @@ +# VQETape Residual-Aware Tape Findings + +**Date:** 2026-07-28 +**Backend:** JAX 0.11.0 CPU on macOS +**Workload:** 3 qubits, 2 RZZ–RX layers, exact TFIM energy and full gradient +**Controlled variable:** reverse tape only; every row uses the same explicit +greedy contraction path + +## What Was Added + +VQETape now traces the VJP chosen by JAX and byte-accounts every saved +residual. Gate tensors and contraction outputs can be assigned stable names. +A named checkpoint policy then saves only an explicit subset of those values +and exactly recomputes every other intermediate in the backward pass. + +JAX 0.11 cannot directly retain a policy-named complex residual because its +checkpoint transform applies `reduce_precision` to the complex value. +VQETape handles this compatibility issue by naming the real and imaginary +parts separately and reconstructing the complex tensor exactly. + +## Measured Tape Control + +| Tape policy | Named units saved | VJP residual bytes | JAX temp | Compile | Warm median | +|---|---:|---:|---:|---:|---:| +| JAX default | automatic | 21,700 | 9,988 | 10.73 s | 0.293 ms | +| named, save none | 0 | 608 | 12,548 | 10.83 s | 0.338 ms | +| named, 50% static contraction budget | 18 | 5,088 | 12,036 | 11.03 s | 0.351 ms | +| named, save all contraction outputs | 56 | 8,928 | 11,588 | 12.23 s | 0.305 ms | + +The logical reverse tape is therefore controllable and monotone across the +three named schedules: + +\[ +608 < 5{,}088 < 8{,}928 < 21{,}700\ \text{bytes}. +\] + +Saving every named contraction output cuts JAX's logical saved-residual bytes +by about 58.9% relative to its default reverse program: + +\[ +1-\frac{8{,}928}{21{,}700}\approx 58.9\%. +\] + +## Important Negative Result + +The smaller logical tape did **not** reduce compiler-reported temporary memory +on this tiny CPU workload. The best JAX-default executable used 9,988 temporary +bytes, while named policies used 11,588–12,548 bytes. Recomputed operations, +real/imag reconstruction, buffer scheduling, and compiler fusion all affect +the final executable, so logical tape bytes are not the same quantity as peak +device memory. + +This is precisely why VQETape must measure both layers: + +1. the AD program's saved residuals; +2. the lowered executable's memory and runtime. + +An optimizer that looks only at the contraction tree or only at JAX's saved +residual list can choose the wrong schedule. + +## Current Research Claim + +The supported claim is not yet “VQETape reduces GPU peak memory.” It is: + +> VQETape exposes and controls the exact reverse-mode residual set of an exact +> differentiable VQE tensor contraction, while jointly measuring the resulting +> compiler memory and runtime. + +The next decision gate is a larger accelerator workload where tensor +intermediates dominate compiler bookkeeping. The named tape should only become +a default optimization if at least one fixed-path candidate reduces measured +device peak memory at acceptable recomputation cost. + +## Validation Matrix + +The direct tensor-network value and full gradient were cross-checked against +the state-vector oracle for: + +- 2 qubits, depth 1, zero initial state, \(J=0.7,\ g=0.3\); +- 3 qubits, depth 1, plus initial state, \(J=1.2,\ g=0.4\); +- 3 qubits, depth 2, plus initial state, \(J=0.8,\ g=1.1\). + +The logical tape ordering + +\[ +\text{save none}<\text{save all named contractions}<\text{JAX default} +\] + +was also verified at both 2-qubit/depth-1 and 3-qubit/depth-2 scales. The full +repository regression completed with **75 passing tests**. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-runtime-capabilities.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-runtime-capabilities.json new file mode 100644 index 000000000..1faa464f8 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-runtime-capabilities.json @@ -0,0 +1,60 @@ +{ + "schema_version": 1, + "generated_at": "2026-07-29T15:40:45.540819+00:00", + "host": { + "python": "3.12.13", + "system": "Darwin", + "release": "24.6.0", + "machine": "arm64", + "processor": "arm" + }, + "packages": { + "jax": "0.11.0", + "jaxlib": "0.11.0", + "numpy": "2.5.1", + "scipy": "1.18.0", + "opt_einsum": "3.4.0" + }, + "jax": { + "default_backend": "cpu", + "x64_enabled": false, + "device_count": 1, + "devices": [ + { + "id": 0, + "platform": "cpu", + "device_kind": "cpu", + "process_index": 0, + "memory_stats_available": false, + "memory_stats": null + } + ] + }, + "memory_evidence": { + "process_peak_rss": { + "available": true, + "meaning": "host process resident-set peak; not GPU peak memory" + }, + "compiler_memory_analysis": { + "available": true, + "fields": { + "argument_size_in_bytes": 32, + "output_size_in_bytes": 32, + "alias_size_in_bytes": 0, + "temp_size_in_bytes": 0, + "generated_code_size_in_bytes": 0 + }, + "meaning": "compiler estimate; not measured device peak" + }, + "device_memory_profile_api": { + "available": true, + "meaning": "profiling API availability does not imply a GPU measurement was collected" + } + }, + "gpu_benchmark": { + "status": "skipped", + "reason": "JAX reports no GPU device; CUDA/ROCm runtime and genuine GPU peak memory were not measured", + "device_count": 0, + "peak_memory_measured": false + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-runtime-capabilities.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-runtime-capabilities.md new file mode 100644 index 000000000..40d958552 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-runtime-capabilities.md @@ -0,0 +1,15 @@ +# VQETape runtime capabilities + +- Backend: `cpu`. +- JAX devices: `1`. +- JAX x64 enabled in probe: `False`. +- GPU benchmark status: `skipped`. +- GPU skip reason: JAX reports no GPU device; CUDA/ROCm runtime and genuine GPU peak memory were not measured. +- Process peak RSS means host resident memory; it is never reported as GPU peak memory. +- Compiler memory analysis available: `True`. + +## Devices + +- `cpu:0` — cpu; device memory stats available: `False`. + +No CUDA-specific performance or memory conclusion is made when the GPU status is skipped. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-smoke-n5-d6.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-smoke-n5-d6.json new file mode 100644 index 000000000..1c54d2b1d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-smoke-n5-d6.json @@ -0,0 +1,3642 @@ +{ + "request": { + "spec": { + "nqubits": 5, + "depth": 6, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 1.838040083002852, + "first_execute_seconds": 0.0011758750006265473, + "warm_seconds_median": 0.0003772079980990384, + "warm_seconds_mad": 1.7207999917445704e-05, + "peak_rss_bytes": 262209536, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3533, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8712 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + "pareto": [ + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 15.529064624999592, + "first_execute_seconds": 0.001368625002214685, + "warm_seconds_median": 0.0002878339982999023, + "warm_seconds_mad": 1.6666999727021903e-05, + "peak_rss_bytes": 290406400, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 2556, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 608, + "temp_size_in_bytes": 29124 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 6, + "representation": "statevector" + }, + "compile_seconds": 3.8424300830010907, + "first_execute_seconds": 0.0016613329971733037, + "warm_seconds_median": 0.0004594999991240911, + "warm_seconds_mad": 3.3541000448167324e-05, + "peak_rss_bytes": 250888192, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 3297, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 648, + "temp_size_in_bytes": 26616 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 3.258976500001154, + "first_execute_seconds": 0.0011966249985562172, + "warm_seconds_median": 0.000384082999516977, + "warm_seconds_mad": 1.312500171479769e-05, + "peak_rss_bytes": 261177344, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3341, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8712 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 3.573003624998819, + "first_execute_seconds": 0.0018227090004074853, + "warm_seconds_median": 0.00035858300179825164, + "warm_seconds_mad": 2.0899824448861182e-07, + "peak_rss_bytes": 271138816, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3387, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 10336 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 1.838040083002852, + "first_execute_seconds": 0.0011758750006265473, + "warm_seconds_median": 0.0003772079980990384, + "warm_seconds_mad": 1.7207999917445704e-05, + "peak_rss_bytes": 262209536, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3533, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8712 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 2.4907528330004425, + "first_execute_seconds": 0.0012108749979233835, + "warm_seconds_median": 0.00037433399847941473, + "warm_seconds_mad": 6.12599978921935e-06, + "peak_rss_bytes": 279658496, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3579, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 10336 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + } + ], + "candidates": [ + { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 26.699955708001653, + "first_execute_seconds": 0.0041858750009851065, + "warm_seconds_median": 0.0003737920014827978, + "warm_seconds_mad": 9.707997378427535e-06, + "peak_rss_bytes": 276332544, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 2176, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 608, + "temp_size_in_bytes": 28232 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 2.655708375001268, + "first_execute_seconds": 0.0015757080000184942, + "warm_seconds_median": 0.0003912920001312159, + "warm_seconds_mad": 4.595900099957362e-05, + "peak_rss_bytes": 270761984, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 2486, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 632, + "temp_size_in_bytes": 26552 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 3.9577648750018852, + "first_execute_seconds": 0.002789875001326436, + "warm_seconds_median": 0.00037145899841561913, + "warm_seconds_mad": 3.349900362081826e-05, + "peak_rss_bytes": 280461312, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 2507, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 26552 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 15.529064624999592, + "first_execute_seconds": 0.001368625002214685, + "warm_seconds_median": 0.0002878339982999023, + "warm_seconds_mad": 1.6666999727021903e-05, + "peak_rss_bytes": 290406400, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 2556, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 608, + "temp_size_in_bytes": 29124 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 2.922592832997907, + "first_execute_seconds": 0.0018006249993050005, + "warm_seconds_median": 0.0005964170013612602, + "warm_seconds_mad": 9.508400034974329e-05, + "peak_rss_bytes": 266108928, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 2747, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8544 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 768, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 4.147312000000966, + "first_execute_seconds": 0.0012561670009745285, + "warm_seconds_median": 0.0004370419992483221, + "warm_seconds_mad": 1.1500000255182385e-05, + "peak_rss_bytes": 273907712, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 2816, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 10088 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 768, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 23.967993499998556, + "first_execute_seconds": 0.003407542000786634, + "warm_seconds_median": 0.0004589580021274742, + "warm_seconds_mad": 3.2080024539027363e-06, + "peak_rss_bytes": 304594944, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 2893, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 632, + "temp_size_in_bytes": 31684 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 768, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 2.656026416003442, + "first_execute_seconds": 0.0012319999987084884, + "warm_seconds_median": 0.0004562499998428393, + "warm_seconds_mad": 1.4707999071106315e-05, + "peak_rss_bytes": 270123008, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3170, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8712 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 2.7539824999985285, + "first_execute_seconds": 0.0014512080015265383, + "warm_seconds_median": 0.0003968330020143185, + "warm_seconds_mad": 3.095899592153728e-05, + "peak_rss_bytes": 265977856, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 3192, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 700, + "temp_size_in_bytes": 12792 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "representation": "statevector" + }, + "compile_seconds": 3.077139624998381, + "first_execute_seconds": 0.0018247920015710406, + "warm_seconds_median": 0.000507624998135725, + "warm_seconds_mad": 2.137499541277066e-05, + "peak_rss_bytes": 273317888, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 3240, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15672 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 6, + "representation": "statevector" + }, + "compile_seconds": 3.8424300830010907, + "first_execute_seconds": 0.0016613329971733037, + "warm_seconds_median": 0.0004594999991240911, + "warm_seconds_mad": 3.3541000448167324e-05, + "peak_rss_bytes": 250888192, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 3297, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 648, + "temp_size_in_bytes": 26616 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 3.258976500001154, + "first_execute_seconds": 0.0011966249985562172, + "warm_seconds_median": 0.000384082999516977, + "warm_seconds_mad": 1.312500171479769e-05, + "peak_rss_bytes": 261177344, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3341, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8712 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 3.573003624998819, + "first_execute_seconds": 0.0018227090004074853, + "warm_seconds_median": 0.00035858300179825164, + "warm_seconds_mad": 2.0899824448861182e-07, + "peak_rss_bytes": 271138816, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3387, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 10336 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 3, + "representation": "statevector" + }, + "compile_seconds": 6.3830124999985856, + "first_execute_seconds": 0.0023792080028215423, + "warm_seconds_median": 0.000447833001089748, + "warm_seconds_mad": 3.425000249990262e-05, + "peak_rss_bytes": 292913152, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.085817758635572e-09, + "valid": true, + "failure": null, + "worker_pid": 3435, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 15936 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 6, + "representation": "statevector" + }, + "compile_seconds": 3.1683770420022483, + "first_execute_seconds": 0.0019717089999176096, + "warm_seconds_median": 0.00040462499964633025, + "warm_seconds_mad": 9.416999091627076e-06, + "peak_rss_bytes": 282558464, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 1.3748505911873813e-08, + "valid": true, + "failure": null, + "worker_pid": 3481, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.15936322510242462 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 26680 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 1.838040083002852, + "first_execute_seconds": 0.0011758750006265473, + "warm_seconds_median": 0.0003772079980990384, + "warm_seconds_mad": 1.7207999917445704e-05, + "peak_rss_bytes": 262209536, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3533, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 624, + "temp_size_in_bytes": 8712 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 2.4907528330004425, + "first_execute_seconds": 0.0012108749979233835, + "warm_seconds_median": 0.00037433399847941473, + "warm_seconds_mad": 6.12599978921935e-06, + "peak_rss_bytes": 279658496, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3579, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 10336 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 3, + "representation": "statevector" + }, + "compile_seconds": 3.6154510409978684, + "first_execute_seconds": 0.002146250000805594, + "warm_seconds_median": 0.00043700000242097303, + "warm_seconds_mad": 2.6292003894923255e-05, + "peak_rss_bytes": 296583168, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 6.227272647947403e-08, + "valid": true, + "failure": null, + "worker_pid": 3603, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373088359832764, + -0.07101702690124512, + -0.5126180648803711, + 0.14768077433109283, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418101325631142, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627389192581177, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034169912338257, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 14336 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 1792, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 6, + "representation": "statevector" + }, + "compile_seconds": 5.547761041998456, + "first_execute_seconds": 0.0014305420008895453, + "warm_seconds_median": 0.00044141699981992133, + "warm_seconds_mad": 1.4500001270789653e-05, + "peak_rss_bytes": 295698432, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 3638, + "parent_pid": 2147, + "energy": -4.888551235198975, + "gradient": [ + [ + [ + -0.6373089551925659, + -0.07101702690124512, + -0.5126180648803711, + 0.14768075942993164, + 0.0 + ], + [ + -0.01247753668576479, + -0.0006610644632019103, + -0.048123132437467575, + -0.0708005353808403, + -0.010911009274423122 + ] + ], + [ + [ + -0.4639971852302551, + 0.13037064671516418, + -0.48960891366004944, + -0.05844574421644211, + 0.0 + ], + [ + 0.055080026388168335, + 0.06320513784885406, + 0.16781935095787048, + 0.17163583636283875, + 0.012038378976285458 + ] + ], + [ + [ + -0.5980511903762817, + 0.05418100953102112, + -0.48071736097335815, + 0.09349732100963593, + 0.0 + ], + [ + 0.06812188029289246, + -0.04601418226957321, + 0.10931682586669922, + 0.19771797955036163, + -0.024738697335124016 + ] + ], + [ + [ + -0.6627388596534729, + -0.09466943144798279, + -0.6056137084960938, + 0.06965740770101547, + 0.0 + ], + [ + 0.16587920486927032, + 0.07114765048027039, + 0.14171740412712097, + 0.15578396618366241, + -0.08135318011045456 + ] + ], + [ + [ + -0.6919263601303101, + -0.16409072279930115, + -0.547793984413147, + 0.3028062880039215, + 0.0 + ], + [ + 0.2827766537666321, + 0.05725059285759926, + -0.11451798677444458, + -0.04526977986097336, + -0.159363254904747 + ] + ], + [ + [ + -0.5775808095932007, + 0.14034171402454376, + -0.17518140375614166, + 0.5947704911231995, + 0.0 + ], + [ + 0.24742697179317474, + 0.12760239839553833, + -0.007267158944159746, + -0.10134269297122955, + -0.21492110192775726 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 240, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 260, + "peak_memory_in_bytes": 608, + "temp_size_in_bytes": 29124 + }, + "static_estimate": { + "parameter_count": 54, + "state_bytes": 256, + "saved_boundary_upper_bound_bytes": 2304, + "estimated_forward_gate_applications": 54, + "estimated_recompute_gate_applications": 54 + } + } + ], + "measurement_notes": { + "compile_seconds": "JAX lowering plus compilation in a fresh worker process", + "first_execute_seconds": "first synchronized execution after explicit compilation", + "warm_seconds": "median and MAD of synchronized repeated executions", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-smoke-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-smoke-report.json new file mode 100644 index 000000000..973343169 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-smoke-report.json @@ -0,0 +1,2404 @@ +{ + "request": { + "spec": { + "nqubits": 4, + "depth": 4, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 2.523921583997435, + "first_execute_seconds": 0.0009953329972631764, + "warm_seconds_median": 0.0002043329986918252, + "warm_seconds_mad": 6.165999366203323e-06, + "peak_rss_bytes": 243974144, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1018, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + "pareto": [ + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 4.8431325829988054, + "first_execute_seconds": 0.007805290999385761, + "warm_seconds_median": 0.00015854100274736993, + "warm_seconds_mad": 8.082002750597894e-06, + "peak_rss_bytes": 175325184, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 99546, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 9704 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 640, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 8.325221541999781, + "first_execute_seconds": 0.010071124997921288, + "warm_seconds_median": 0.00027758299984270707, + "warm_seconds_mad": 2.7291000151308253e-05, + "peak_rss_bytes": 160137216, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 99778, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 368, + "temp_size_in_bytes": 9800 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 640, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 4.561713167000562, + "first_execute_seconds": 0.009971666000637924, + "warm_seconds_median": 0.000370542002201546, + "warm_seconds_mad": 6.720800229231827e-05, + "peak_rss_bytes": 180027392, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 99939, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3536 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 384, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 16.02161787500154, + "first_execute_seconds": 0.009850999998889165, + "warm_seconds_median": 0.00025458399977651425, + "warm_seconds_mad": 5.9541998780332506e-05, + "peak_rss_bytes": 168493056, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 437, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 388, + "temp_size_in_bytes": 11588 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 384, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 4.574525083000481, + "first_execute_seconds": 0.005920625000726432, + "warm_seconds_median": 0.00021583299894700758, + "warm_seconds_mad": 3.941600152757019e-05, + "peak_rss_bytes": 178257920, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 726, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 2.523921583997435, + "first_execute_seconds": 0.0009953329972631764, + "warm_seconds_median": 0.0002043329986918252, + "warm_seconds_mad": 6.165999366203323e-06, + "peak_rss_bytes": 243974144, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1018, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 2.544110874998296, + "first_execute_seconds": 0.0011679580020427238, + "warm_seconds_median": 0.0001939590001711622, + "warm_seconds_mad": 1.270900247618556e-05, + "peak_rss_bytes": 240844800, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1258, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + } + ], + "candidates": [ + { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 12.714957042000606, + "first_execute_seconds": 0.02020920799986925, + "warm_seconds_median": 0.00033645800067461096, + "warm_seconds_mad": 2.4083001335384324e-05, + "peak_rss_bytes": 165478400, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 99270, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 368, + "temp_size_in_bytes": 9800 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 640, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 4.8431325829988054, + "first_execute_seconds": 0.007805290999385761, + "warm_seconds_median": 0.00015854100274736993, + "warm_seconds_mad": 8.082002750597894e-06, + "peak_rss_bytes": 175325184, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 99546, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 9704 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 640, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 7.708661624998058, + "first_execute_seconds": 0.019487792000290938, + "warm_seconds_median": 0.00021454100351547822, + "warm_seconds_mad": 8.883200644049793e-05, + "peak_rss_bytes": 189579264, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 99647, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 408, + "temp_size_in_bytes": 10600 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 640, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 8.325221541999781, + "first_execute_seconds": 0.010071124997921288, + "warm_seconds_median": 0.00027758299984270707, + "warm_seconds_mad": 2.7291000151308253e-05, + "peak_rss_bytes": 160137216, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 99778, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 368, + "temp_size_in_bytes": 9800 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 640, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 0 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 4.561713167000562, + "first_execute_seconds": 0.009971666000637924, + "warm_seconds_median": 0.000370542002201546, + "warm_seconds_mad": 6.720800229231827e-05, + "peak_rss_bytes": 180027392, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 99939, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3536 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 384, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 7.506854999999632, + "first_execute_seconds": 0.006889457999932347, + "warm_seconds_median": 0.0003403329974389635, + "warm_seconds_mad": 5.9957998018944636e-05, + "peak_rss_bytes": 186679296, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 221, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 424, + "temp_size_in_bytes": 5848 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 384, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "remat", + "unroll": 4, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 16.02161787500154, + "first_execute_seconds": 0.009850999998889165, + "warm_seconds_median": 0.00025458399977651425, + "warm_seconds_mad": 5.9541998780332506e-05, + "peak_rss_bytes": 168493056, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 437, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 388, + "temp_size_in_bytes": 11588 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 384, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 4.574525083000481, + "first_execute_seconds": 0.005920625000726432, + "warm_seconds_median": 0.00021583299894700758, + "warm_seconds_mad": 3.941600152757019e-05, + "peak_rss_bytes": 178257920, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 726, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 10.20308945799843, + "first_execute_seconds": 0.008014625000214437, + "warm_seconds_median": 0.0038566669973079115, + "warm_seconds_mad": 0.0010023329996329267, + "peak_rss_bytes": 173932544, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 815, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 476, + "temp_size_in_bytes": 6888 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 768, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 4, + "representation": "statevector" + }, + "compile_seconds": 2.786078291999729, + "first_execute_seconds": 0.001125250000768574, + "warm_seconds_median": 0.00022895900110597722, + "warm_seconds_mad": 1.6376001440221444e-05, + "peak_rss_bytes": 247267328, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 969, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 416, + "temp_size_in_bytes": 9768 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 2.523921583997435, + "first_execute_seconds": 0.0009953329972631764, + "warm_seconds_median": 0.0002043329986918252, + "warm_seconds_mad": 6.165999366203323e-06, + "peak_rss_bytes": 243974144, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1018, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 3.380652125000779, + "first_execute_seconds": 0.003226666998671135, + "warm_seconds_median": 0.0003638339985627681, + "warm_seconds_mad": 0.00016820899691083468, + "peak_rss_bytes": 263225344, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1061, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 424, + "temp_size_in_bytes": 5648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 768, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 2, + "segment_length": 4, + "representation": "statevector" + }, + "compile_seconds": 4.936046792001434, + "first_execute_seconds": 0.0014751249982509762, + "warm_seconds_median": 0.00027404100183048286, + "warm_seconds_mad": 5.3249004849931225e-05, + "peak_rss_bytes": 259620864, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 1116, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 424, + "temp_size_in_bytes": 10728 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 1, + "representation": "statevector" + }, + "compile_seconds": 2.544110874998296, + "first_execute_seconds": 0.0011679580020427238, + "warm_seconds_median": 0.0001939590001711622, + "warm_seconds_mad": 1.270900247618556e-05, + "peak_rss_bytes": 240844800, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1258, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 3648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 2, + "representation": "statevector" + }, + "compile_seconds": 3.133013500002562, + "first_execute_seconds": 0.001527332999103237, + "warm_seconds_median": 0.00020375000167405233, + "warm_seconds_mad": 1.8874998204410076e-05, + "peak_rss_bytes": 263438336, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.57802449023324e-08, + "valid": true, + "failure": null, + "worker_pid": 1310, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689012497663498, + -0.16517888009548187, + 0.2768086791038513, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017475694417953, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673445045948, + -0.2440493106842041, + 0.060363247990608215, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 424, + "temp_size_in_bytes": 5648 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 768, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + }, + { + "config": { + "control_flow": "scan", + "adjoint": "segmented", + "unroll": 4, + "segment_length": 4, + "representation": "statevector" + }, + "compile_seconds": 4.402031959001761, + "first_execute_seconds": 0.001093334001780022, + "warm_seconds_median": 0.0002755409987003077, + "warm_seconds_mad": 4.975100091542117e-05, + "peak_rss_bytes": 243105792, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 1351, + "parent_pid": 99041, + "energy": -4.00892448425293, + "gradient": [ + [ + [ + 0.13412126898765564, + -0.3283970355987549, + 0.06312263011932373, + 0.0 + ], + [ + -0.012437197379767895, + 0.00022115552565082908, + -0.049188680946826935, + -0.0618223175406456 + ] + ], + [ + [ + 0.11689011752605438, + -0.16517888009548187, + 0.2768087089061737, + 0.0 + ], + [ + 0.05730128288269043, + 0.19534863531589508, + 0.134633868932724, + -0.0040543656796216965 + ] + ], + [ + [ + -0.13557711243629456, + -0.30771100521087646, + 0.09017474949359894, + 0.0 + ], + [ + 0.11092343181371689, + 0.27728328108787537, + 0.1255069375038147, + -0.04374302923679352 + ] + ], + [ + [ + -0.01762673631310463, + -0.2440493255853653, + 0.06036324054002762, + 0.0 + ], + [ + 0.02093854732811451, + 0.18046952784061432, + 0.18733377754688263, + 0.028149442747235298 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 368, + "temp_size_in_bytes": 9800 + }, + "static_estimate": { + "parameter_count": 28, + "state_bytes": 128, + "saved_boundary_upper_bound_bytes": 896, + "estimated_forward_gate_applications": 28, + "estimated_recompute_gate_applications": 28 + } + } + ], + "measurement_notes": { + "compile_seconds": "JAX lowering plus compilation in a fresh worker process", + "first_execute_seconds": "first synchronized execution after explicit compilation", + "warm_seconds": "median and MAD of synchronized repeated executions", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-findings.md new file mode 100644 index 000000000..87ea89182 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-findings.md @@ -0,0 +1,230 @@ +# VQETape Exact Spatial-Transfer Findings + +## Experimental contract + +This phase compares exact global bra–MPO–ket contractions with exact +spatial-transfer programs for the same open-boundary TFIM VQE energy and +complete gradient. Every measured candidate runs in a fresh process and is +validated against the state-vector oracle. + +The spatial program is constructed from the already verified +operator-Schmidt RZZ and bond-dimension-3 TFIM MPO tensors. Each bulk +contraction receives the current boundary as operand zero and emits only the +next boundary. + +The search contains three global dense-MPO controls and 15 spatial +candidates: + +\[ +\{\text{greedy},\text{random-greedy},\text{auto-hq}\} +\times +\{ +\text{default-u1}, +\text{default-u2}, +\text{remat-u1}, +\text{remat-u2}, +\text{segmented} +\}. +\] + +For each path strategy, first/bulk/last contraction paths are searched once, +serialized, and reused by all five spatial schedules. The audited reports +confirm identical forward FLOP counts within every such group. This prevents +stochastic path differences from being mistaken for AD-schedule effects. + +Raw reports: + +- [eight-qubit report](vqetape-spatial-transfer-report-n8-d2.json) +- [twelve-qubit report](vqetape-spatial-transfer-report-n12-d2.json) + +## Correctness and structural invariants + +The implemented spatial cuts retain: + +- one ket RZZ Schmidt index per layer; +- one bra RZZ Schmidt index per layer; +- one Hamiltonian MPO index. + +Therefore: + +\[ +\operatorname{shape}(B) += +\underbrace{(2,\ldots,2)}_{2L\ \mathrm{entries}} +\mathbin{\|}(3,), +\qquad +\dim B=3\cdot4^L. +\] + +Structural tests cover depths one, two, and three. For the tested greedy +paths, every bulk contraction output and intermediate is smaller than +\(D^2\); no full transfer matrix is emitted. + +Sequential spatial energies match the global MPO for two through five +qubits, depths one and two, both supported product initial states, non-unit +couplings, and complex64/complex128 checks. Default, rematerialized, and +segmented scan adjoints match on complete gradients, including partial final +segments. The unused padded RZZ gradient remains exactly zero. + +## Rolled control flow + +At fixed depth one, value-and-gradient StableHLO contains rolled `while` +control flow for both six and ten qubits. In the audited run, the text sizes +were 107,194 and 107,215 characters respectively. This is evidence that the +bulk body is reused rather than Python-unrolled with chain length; it is not a +claim that every compiler IR component is perfectly constant. + +## Global MPO versus spatial-transfer results + +Both workloads used `complex64`, three synchronized warm repetitions, a +2 GiB process-memory budget, and a 100-call VQE horizon. + +All 36 measured candidates were valid. The maximum errors over the +eight-qubit report were: + +\[ +\epsilon_E=6.20\times10^{-6}, +\qquad +\epsilon_g=1.56\times10^{-6}. +\] + +For twelve qubits: + +\[ +\epsilon_E=6.68\times10^{-6}, +\qquad +\epsilon_g=1.27\times10^{-6}. +\] + +Both are within the configured complex64 tolerances. + +### Horizon-selected programs + +The control in each comparison is the global-MPO candidate with the lowest +\(T_{\mathrm{compile}}+100T_{\mathrm{warm}}\), not a deliberately weak +global path. + +| Workload | Program | Path/AD | Compile (s) | Warm (µs) | Compiler temp (B) | RSS (MiB) | Logical tape (B) | 100-step cost (s) | +|---|---|---|---:|---:|---:|---:|---:|---:| +| \(n=8,L=2\) | Spatial | random-greedy/remat-u1 | 1.234 | 492.54 | 12,360 | 246.94 | 5,472 | 1.283 | +| \(n=8,L=2\) | Global MPO control | greedy/default | 5.496 | 391.17 | 29,512 | 270.30 | 28,880 | 5.535 | +| \(n=12,L=2\) | Spatial | greedy/remat-u1 | 1.609 | 762.63 | 13,496 | 242.84 | 7,504 | 1.686 | +| \(n=12,L=2\) | Global MPO control | random-greedy/default | 14.188 | 606.12 | 50,376 | 248.56 | 48,432 | 14.249 | + +The selected spatial program therefore reduced the 100-step objective by: + +- 4.31× at eight qubits; +- 8.45× at twelve qubits. + +This does **not** come from a faster warm kernel. The selected spatial +program was about 1.26× slower per warm call in both workloads. It won because +the compiler reused a rolled bulk body: + +- compile time was 4.45× and 8.82× shorter; +- compiler temporary bytes were 2.39× and 3.73× smaller; +- logical tape was 5.28× and 6.45× smaller. + +### Best observed metric by representation + +Different rows may attain each column; this table describes the measured +representation envelope rather than one candidate. + +| Workload | Representation | Best compile (s) | Best warm (µs) | Best compiler temp (B) | +|---|---|---:|---:|---:| +| \(n=8,L=2\) | Global MPO | 5.496 | 300.83 | 28,168 | +| \(n=8,L=2\) | Spatial | 1.234 | 402.67 | 11,656 | +| \(n=12,L=2\) | Global MPO | 14.188 | 467.63 | 46,728 | +| \(n=12,L=2\) | Spatial | 1.609 | 594.33 | 13,112 | + +Warm-only selection would still choose the global MPO on these CPU +workloads. Spatial transfer is the compile/memory/horizon winner, not yet the +single-call throughput winner. + +## Default, remat, and segmented adjoints + +The same auto-hq spatial path gives a fixed-path comparison: + +| Workload | Adjoint | Compile (s) | Warm (µs) | Compiler temp (B) | Logical tape (B) | Modeled carry bytes | +|---|---|---:|---:|---:|---:|---:| +| \(n=8\) | default-u1 | 1.280 | 559.38 | 29,472 | 22,880 | 2,304 | +| \(n=8\) | remat-u1 | 1.288 | 541.58 | 11,656 | 5,328 | 2,304 | +| \(n=8\) | segmented-s2 | 1.674 | 679.46 | 19,752 | 3,862 | 1,920 | +| \(n=12\) | default-u1 | 2.452 | 713.83 | 42,208 | 35,936 | 3,840 | +| \(n=12\) | remat-u1 | 2.221 | 779.71 | 13,112 | 6,976 | 3,840 | +| \(n=12\) | segmented-s3 | 2.932 | 1,067.71 | 23,720 | 4,396 | 2,688 | + +Segmented checkpointing behaved as predicted at the logical/model level and +reduced compiler temporary bytes relative to default AD. However, ordinary +bulk rematerialization produced still lower compiler temporary bytes and +faster warm execution on every fixed path. Segmented is therefore retained +as an exact research candidate but is not the default. + +This result also confirms why logical residual bytes, modeled carry bytes, +compiler temporary bytes, and process RSS cannot be substituted for one +another. + +## Fixed-depth scaling + +The scaling comparison holds depth at \(L=2\), for which the exact boundary +dimension is: + +\[ +D=3\cdot4^2=48. +\] + +Using the best observed value within each representation, increasing the +chain from eight to twelve qubits changed: + +| Metric | Global MPO factor | Spatial factor | +|---|---:|---:| +| Best compile time | 2.58× | 1.30× | +| Best warm time | 1.55× | 1.48× | +| Best compiler temp | 1.66× | 1.12× | + +Two points are not enough to fit an asymptotic law, but the direction matches +the structural IR evidence: the global graph continues to grow, whereas the +spatial program reuses one fixed-depth scan body and increases its iteration +count. + +## Decision-gate audit + +| Gate | Result | Evidence | +|---|---|---| +| Energy and complete-gradient correctness | Pass | 36/36 fresh candidates valid; structural matrix also covers small workloads and complex128 | +| Exact boundary dimension | Pass | Every spatial report row has shape `[2,2,2,2,3]` and dimension 48 | +| No \(D^2\) transfer tensor | Pass | Bulk outputs \(D\); audited step outputs remain below \(D^2\) | +| Rolled spatial control flow | Pass | StableHLO contains `while`; six- and ten-qubit IR text sizes remain nearly equal | +| Executable nondominance | Pass | Spatial remat has higher warm time but substantially lower compiler temporary memory than every global control | +| Two-length fixed-depth trend | Pass | Compile and compiler-temp growth are lower for the spatial envelope | +| Segmented memory trade-off | Pass with negative selection result | Beats default on temp/tape/model, but remat dominates it | + +The exact spatial representation advances. The current default should be +selected empirically between global MPO and spatial remat according to the +VQE horizon and memory budget. + +## Regression audit + +The complete repository suite passed after the fair-path benchmark rerun and +documentation update: + +```text +204 passed in 749.40s (0:12:29) +``` + +This covers the previous state-vector, direct-TN, residual-aware, +operator-Schmidt, and exact-MPO behavior as well as spatial configuration +serialization, cut planning, carry-fused execution, full gradients, rolled +control flow, partial segmented VJPs, fresh workers, candidate selection, and +CLI report generation. + +## Interpretation and limitations + +The result is specific to shallow, local, one-dimensional VQE circuits. Its +iteration count can be linear in qubit count at fixed depth, while the exact +boundary dimension remains exponential in depth. It does not establish +efficient exact simulation for generic deep or two-dimensional circuits. + +The benchmarks used the local CPU JAX backend. Process RSS is allocator- and +process-sensitive, and none of these numbers is a GPU peak-memory claim. A +GPU study should preserve the same serialized paths and fresh-process +contract while adding device peak and HBM-traffic measurement. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-report-n12-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-report-n12-d2.json new file mode 100644 index 000000000..90c32b07f --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-report-n12-d2.json @@ -0,0 +1,10166 @@ +{ + "request": { + "spec": { + "nqubits": 12, + "depth": 2, + "coupling": 0.7, + "field": 0.3, + "initial_state": "zero", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 600.0 + }, + "selected": { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.609477500001958, + "first_execute_seconds": 0.001950457997736521, + "warm_seconds_median": 0.0007626250007888302, + "warm_seconds_mad": 5.1959003030788153e-05, + "peak_rss_bytes": 254640128, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 65001, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 844, + "temp_size_in_bytes": 13496 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7504, + "recomputable_bytes": 6880, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 21, + 78 + ], + [ + 7, + 29 + ], + [ + 8, + 29 + ], + [ + 5, + 25 + ], + [ + 17, + 70 + ], + [ + 15, + 67 + ], + [ + 11, + 62 + ], + [ + 16, + 66 + ], + [ + 8, + 23 + ], + [ + 2, + 16 + ], + [ + 11, + 58 + ], + [ + 7, + 54 + ], + [ + 1, + 12 + ], + [ + 10, + 54 + ], + [ + 3, + 12 + ], + [ + 0, + 110 + ], + [ + 1, + 9 + ], + [ + 4, + 45 + ], + [ + 2, + 8 + ], + [ + 2, + 102 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 37 + ], + [ + 19, + 30 + ], + [ + 11, + 21 + ], + [ + 36, + 100 + ], + [ + 0, + 32 + ], + [ + 16, + 25 + ], + [ + 5, + 15 + ], + [ + 58, + 70 + ], + [ + 11, + 18 + ], + [ + 49, + 60 + ], + [ + 44, + 54 + ], + [ + 53, + 63 + ], + [ + 0, + 10 + ], + [ + 8, + 69 + ], + [ + 47, + 55 + ], + [ + 4, + 81 + ], + [ + 25, + 62 + ], + [ + 61, + 71 + ], + [ + 0, + 62 + ], + [ + 20, + 85 + ], + [ + 0, + 67 + ], + [ + 8, + 15 + ], + [ + 23, + 58 + ], + [ + 5, + 10 + ], + [ + 7, + 14 + ], + [ + 54, + 74 + ], + [ + 68, + 79 + ], + [ + 12, + 67 + ], + [ + 16, + 26 + ], + [ + 32, + 76 + ], + [ + 14, + 22 + ], + [ + 18, + 26 + ], + [ + 3, + 40 + ], + [ + 12, + 17 + ], + [ + 10, + 51 + ], + [ + 3, + 43 + ], + [ + 12, + 18 + ], + [ + 1, + 3 + ], + [ + 7, + 51 + ], + [ + 0, + 35 + ], + [ + 10, + 16 + ], + [ + 55, + 62 + ], + [ + 6, + 10 + ], + [ + 7, + 10 + ], + [ + 12, + 20 + ], + [ + 10, + 48 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 0, + 22 + ], + [ + 1, + 46 + ], + [ + 4, + 52 + ], + [ + 3, + 40 + ], + [ + 10, + 13 + ], + [ + 1, + 6 + ], + [ + 9, + 12 + ], + [ + 10, + 23 + ], + [ + 22, + 27 + ], + [ + 28, + 30 + ], + [ + 16, + 46 + ], + [ + 0, + 2 + ], + [ + 6, + 35 + ], + [ + 6, + 19 + ], + [ + 1, + 41 + ], + [ + 9, + 26 + ], + [ + 37, + 40 + ], + [ + 18, + 26 + ], + [ + 24, + 39 + ], + [ + 17, + 38 + ], + [ + 5, + 22 + ], + [ + 25, + 36 + ], + [ + 15, + 19 + ], + [ + 7, + 33 + ], + [ + 19, + 26 + ], + [ + 13, + 32 + ], + [ + 0, + 30 + ], + [ + 26, + 30 + ], + [ + 12, + 18 + ], + [ + 17, + 28 + ], + [ + 4, + 20 + ], + [ + 6, + 24 + ], + [ + 21, + 25 + ], + [ + 6, + 18 + ], + [ + 8, + 21 + ], + [ + 9, + 21 + ], + [ + 4, + 6 + ], + [ + 8, + 12 + ], + [ + 4, + 8 + ], + [ + 8, + 18 + ], + [ + 6, + 16 + ], + [ + 7, + 16 + ], + [ + 7, + 13 + ], + [ + 5, + 14 + ], + [ + 10, + 13 + ], + [ + 3, + 12 + ], + [ + 0, + 7 + ], + [ + 7, + 10 + ], + [ + 3, + 9 + ], + [ + 6, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 21.353944832997513, + "first_execute_seconds": 0.005878208001377061, + "warm_seconds_median": 0.0005736249950132333, + "warm_seconds_mad": 6.845800817245618e-05, + "peak_rss_bytes": 235749376, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.13218328602748e-06, + "valid": true, + "failure": null, + "worker_pid": 64154, + "parent_pid": 63648, + "energy": -7.5520806312561035, + "gradient": [ + [ + [ + 3.9830631237691705e-08, + 3.868741060841785e-08, + 5.015229831428769e-08, + -2.0859369342929313e-08, + -3.984052909800084e-08, + -3.744793630744425e-08, + -7.057110451569315e-10, + -2.819684219446117e-08, + -4.223752902987599e-09, + -4.439761269736664e-08, + 3.076225141285249e-08, + 0.0 + ], + [ + -0.23134025931358337, + -0.07655242085456848, + -0.04568466544151306, + 0.15175996720790863, + -0.20720162987709045, + 0.17164313793182373, + 0.2646394968032837, + 0.28728237748146057, + 0.029779884964227676, + 0.13543245196342468, + 0.08592768758535385, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419119775295258, + 0.04275720566511154, + 0.05520385876297951, + 0.03652773052453995, + 0.026771755889058113, + -0.0023774609435349703, + -0.041220374405384064, + -0.02579500898718834, + -0.03680683299899101, + -0.01981794647872448, + 0.010259328410029411, + 0.0 + ], + [ + -0.20466908812522888, + -0.04751715064048767, + -0.06417590379714966, + 0.10693255066871643, + -0.2491123080253601, + 0.16464166343212128, + 0.24170827865600586, + 0.2508839964866638, + 0.01883074641227722, + 0.14670832455158234, + 0.10935600847005844, + 0.15987294912338257 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 46728 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 38192, + "contractions_per_energy": 1, + "estimated_energy_flops": 38192, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 192, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 1536, + "residual_profile": { + "residual_count": 698, + "total_bytes": 45744, + "recomputable_bytes": 44448, + "bytes_by_category": { + "primitive:dot_general": 31872, + "jitted:_diag": 6688, + "primitive:conj": 2208, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:concatenate": 704, + "primitive:exp": 704, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 48 + ], + [ + 2, + 47 + ], + [ + 2, + 46 + ], + [ + 2, + 45 + ], + [ + 2, + 44 + ], + [ + 2, + 43 + ], + [ + 2, + 42 + ], + [ + 2, + 41 + ], + [ + 2, + 40 + ], + [ + 2, + 39 + ], + [ + 2, + 38 + ], + [ + 0, + 84 + ], + [ + 0, + 93 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 13, + 25 + ], + [ + 14, + 24 + ], + [ + 14, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 22 + ], + [ + 1, + 44 + ], + [ + 1, + 43 + ], + [ + 1, + 42 + ], + [ + 1, + 41 + ], + [ + 1, + 40 + ], + [ + 1, + 39 + ], + [ + 1, + 38 + ], + [ + 1, + 37 + ], + [ + 1, + 36 + ], + [ + 1, + 35 + ], + [ + 0, + 34 + ], + [ + 0, + 43 + ], + [ + 18, + 42 + ], + [ + 19, + 54 + ], + [ + 18, + 40 + ], + [ + 28, + 52 + ], + [ + 28, + 48 + ], + [ + 36, + 47 + ], + [ + 27, + 49 + ], + [ + 44, + 48 + ], + [ + 0, + 44 + ], + [ + 17, + 46 + ], + [ + 43, + 45 + ], + [ + 8, + 42 + ], + [ + 32, + 43 + ], + [ + 41, + 42 + ], + [ + 8, + 32 + ], + [ + 8, + 31 + ], + [ + 38, + 39 + ], + [ + 8, + 30 + ], + [ + 8, + 29 + ], + [ + 35, + 36 + ], + [ + 8, + 28 + ], + [ + 8, + 27 + ], + [ + 32, + 33 + ], + [ + 8, + 26 + ], + [ + 8, + 25 + ], + [ + 29, + 30 + ], + [ + 7, + 24 + ], + [ + 14, + 28 + ], + [ + 21, + 27 + ], + [ + 25, + 26 + ], + [ + 20, + 25 + ], + [ + 13, + 24 + ], + [ + 6, + 23 + ], + [ + 0, + 18 + ], + [ + 5, + 21 + ], + [ + 10, + 20 + ], + [ + 15, + 19 + ], + [ + 10, + 18 + ], + [ + 5, + 17 + ], + [ + 0, + 16 + ], + [ + 3, + 14 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 10, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 16.73864208300074, + "first_execute_seconds": 0.005021958000725135, + "warm_seconds_median": 0.00046762500278418884, + "warm_seconds_mad": 4.8624999180901796e-05, + "peak_rss_bytes": 300482560, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.2709649283936817e-06, + "valid": true, + "failure": null, + "worker_pid": 63772, + "parent_pid": 63648, + "energy": -7.552077770233154, + "gradient": [ + [ + [ + 7.521985878611304e-08, + 7.22148172371817e-08, + -2.0323298599578266e-09, + 2.756842931717074e-08, + 1.2324218090498107e-08, + -3.7456455714846015e-08, + -4.575747425406007e-08, + -4.321492852454867e-08, + -4.883499826746629e-08, + 4.503917239162547e-08, + 2.3340607668842495e-08, + 0.0 + ], + [ + -0.23134005069732666, + -0.0765523910522461, + -0.04568471014499664, + 0.15175975859165192, + -0.2072015255689621, + 0.17164310812950134, + 0.26463937759399414, + 0.287282258272171, + 0.02977987378835678, + 0.1354323923587799, + 0.08592768758535385, + 0.15341277420520782 + ] + ], + [ + [ + 0.0741911381483078, + 0.04275713488459587, + 0.05520389974117279, + 0.03652774915099144, + 0.026771720498800278, + -0.002377497497946024, + -0.04122038185596466, + -0.02579503320157528, + -0.036806706339120865, + -0.019817911088466644, + 0.010259323753416538, + 0.0 + ], + [ + -0.2046690434217453, + -0.047517139464616776, + -0.06417584419250488, + 0.10693243145942688, + -0.24911218881607056, + 0.16464169323444366, + 0.24170814454555511, + 0.2508838474750519, + 0.018830738961696625, + 0.14670830965042114, + 0.10935596376657486, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 47688 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34576, + "contractions_per_energy": 1, + "estimated_energy_flops": 34576, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48848, + "recomputable_bytes": 47552, + "bytes_by_category": { + "primitive:dot_general": 35136, + "jitted:_diag": 6688, + "primitive:conj": 2368, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 11, + 34 + ], + [ + 5, + 27 + ], + [ + 8, + 29 + ], + [ + 14, + 68 + ], + [ + 4, + 23 + ], + [ + 10, + 62 + ], + [ + 4, + 21 + ], + [ + 11, + 61 + ], + [ + 15, + 64 + ], + [ + 11, + 59 + ], + [ + 1, + 14 + ], + [ + 9, + 55 + ], + [ + 6, + 52 + ], + [ + 9, + 53 + ], + [ + 8, + 51 + ], + [ + 3, + 11 + ], + [ + 2, + 9 + ], + [ + 3, + 9 + ], + [ + 4, + 43 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 38 + ], + [ + 44, + 55 + ], + [ + 37, + 94 + ], + [ + 56, + 68 + ], + [ + 62, + 73 + ], + [ + 36, + 76 + ], + [ + 0, + 85 + ], + [ + 17, + 28 + ], + [ + 59, + 69 + ], + [ + 21, + 31 + ], + [ + 2, + 86 + ], + [ + 11, + 67 + ], + [ + 50, + 59 + ], + [ + 0, + 83 + ], + [ + 38, + 92 + ], + [ + 21, + 90 + ], + [ + 49, + 57 + ], + [ + 27, + 87 + ], + [ + 62, + 88 + ], + [ + 39, + 47 + ], + [ + 29, + 38 + ], + [ + 41, + 83 + ], + [ + 6, + 68 + ], + [ + 29, + 59 + ], + [ + 43, + 50 + ], + [ + 28, + 76 + ], + [ + 41, + 47 + ], + [ + 31, + 52 + ], + [ + 21, + 70 + ], + [ + 26, + 50 + ], + [ + 1, + 10 + ], + [ + 13, + 20 + ], + [ + 14, + 20 + ], + [ + 4, + 45 + ], + [ + 14, + 32 + ], + [ + 17, + 21 + ], + [ + 18, + 23 + ], + [ + 5, + 12 + ], + [ + 1, + 31 + ], + [ + 0, + 42 + ], + [ + 0, + 6 + ], + [ + 18, + 21 + ], + [ + 12, + 50 + ], + [ + 10, + 37 + ], + [ + 8, + 59 + ], + [ + 3, + 7 + ], + [ + 0, + 32 + ], + [ + 6, + 21 + ], + [ + 10, + 46 + ], + [ + 8, + 10 + ], + [ + 47, + 52 + ], + [ + 5, + 24 + ], + [ + 12, + 18 + ], + [ + 0, + 53 + ], + [ + 0, + 21 + ], + [ + 20, + 48 + ], + [ + 15, + 23 + ], + [ + 33, + 49 + ], + [ + 9, + 11 + ], + [ + 13, + 35 + ], + [ + 10, + 20 + ], + [ + 18, + 27 + ], + [ + 10, + 33 + ], + [ + 10, + 27 + ], + [ + 9, + 20 + ], + [ + 6, + 28 + ], + [ + 32, + 40 + ], + [ + 10, + 14 + ], + [ + 18, + 38 + ], + [ + 9, + 37 + ], + [ + 27, + 33 + ], + [ + 15, + 35 + ], + [ + 0, + 34 + ], + [ + 8, + 24 + ], + [ + 4, + 24 + ], + [ + 13, + 31 + ], + [ + 27, + 29 + ], + [ + 18, + 24 + ], + [ + 10, + 27 + ], + [ + 12, + 18 + ], + [ + 11, + 26 + ], + [ + 20, + 21 + ], + [ + 20, + 22 + ], + [ + 6, + 20 + ], + [ + 11, + 21 + ], + [ + 18, + 21 + ], + [ + 6, + 18 + ], + [ + 2, + 19 + ], + [ + 4, + 17 + ], + [ + 0, + 13 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 2, + 12 + ], + [ + 0, + 8 + ], + [ + 1, + 3 + ], + [ + 3, + 4 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 14.188068916002521, + "first_execute_seconds": 0.01023916599660879, + "warm_seconds_median": 0.0006061249951017089, + "warm_seconds_mad": 1.8167011148761958e-05, + "peak_rss_bytes": 260636672, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.2214357505432706e-06, + "valid": true, + "failure": null, + "worker_pid": 63994, + "parent_pid": 63648, + "energy": -7.552080154418945, + "gradient": [ + [ + [ + -5.888771426043604e-08, + -1.5327955793509318e-08, + -4.667469255537071e-08, + -4.134831144142481e-08, + -7.707205895712832e-08, + -2.255286091212838e-08, + 4.380780183055322e-08, + -1.3379200858310014e-08, + -9.353848184900926e-08, + -1.3353623273815174e-07, + -6.476184921666572e-09, + 0.0 + ], + [ + -0.23134002089500427, + -0.07655240595340729, + -0.04568469524383545, + 0.15175984799861908, + -0.20720158517360687, + 0.17164316773414612, + 0.2646394371986389, + 0.28728222846984863, + 0.029779888689517975, + 0.13543245196342468, + 0.0859275832772255, + 0.1534128189086914 + ] + ], + [ + [ + 0.07419107854366302, + 0.04275711625814438, + 0.05520377308130264, + 0.03652772679924965, + 0.026771768927574158, + -0.002377391094341874, + -0.04122041538357735, + -0.02579503133893013, + -0.0368068665266037, + -0.019817931577563286, + 0.010259313508868217, + 0.0 + ], + [ + -0.20466896891593933, + -0.04751715064048767, + -0.06417590379714966, + 0.10693241655826569, + -0.24911221861839294, + 0.16464169323444366, + 0.24170824885368347, + 0.25088387727737427, + 0.018830731511116028, + 0.14670827984809875, + 0.10935590416193008, + 0.15987282991409302 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 50376 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 39568, + "contractions_per_energy": 1, + "estimated_energy_flops": 39568, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 384, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 3072, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48432, + "recomputable_bytes": 47136, + "bytes_by_category": { + "primitive:dot_general": 34624, + "jitted:_diag": 6688, + "primitive:conj": 2144, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:concatenate": 704, + "primitive:exp": 704, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.260930709002423, + "first_execute_seconds": 0.001953042003151495, + "warm_seconds_median": 0.0006568329990841448, + "warm_seconds_mad": 2.4041997676249593e-05, + "peak_rss_bytes": 254967808, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 64867, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28368, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.0199843750015134, + "first_execute_seconds": 0.002053750002232846, + "warm_seconds_median": 0.0005943329961155541, + "warm_seconds_mad": 1.2126001820433885e-05, + "peak_rss_bytes": 261521408, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 64938, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 820, + "temp_size_in_bytes": 36960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28368, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.609477500001958, + "first_execute_seconds": 0.001950457997736521, + "warm_seconds_median": 0.0007626250007888302, + "warm_seconds_mad": 5.1959003030788153e-05, + "peak_rss_bytes": 254640128, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 65001, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 844, + "temp_size_in_bytes": 13496 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7504, + "recomputable_bytes": 6880, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6907654159949743, + "first_execute_seconds": 0.0021667080000042915, + "warm_seconds_median": 0.0006369999973685481, + "warm_seconds_mad": 0.00012833399523515254, + "peak_rss_bytes": 255606784, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65150, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 44384 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38608, + "recomputable_bytes": 38192, + "bytes_by_category": { + "primitive:scan": 35584, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.685517500001879, + "first_execute_seconds": 0.0020857910058111884, + "warm_seconds_median": 0.0007526660047005862, + "warm_seconds_mad": 8.937400707509369e-05, + "peak_rss_bytes": 254050304, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65252, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 844, + "temp_size_in_bytes": 13816 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7088, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1216, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 21, + 78 + ], + [ + 7, + 29 + ], + [ + 8, + 29 + ], + [ + 5, + 25 + ], + [ + 17, + 70 + ], + [ + 15, + 67 + ], + [ + 11, + 62 + ], + [ + 16, + 66 + ], + [ + 8, + 23 + ], + [ + 2, + 16 + ], + [ + 11, + 58 + ], + [ + 7, + 54 + ], + [ + 1, + 12 + ], + [ + 10, + 54 + ], + [ + 3, + 12 + ], + [ + 0, + 110 + ], + [ + 1, + 9 + ], + [ + 4, + 45 + ], + [ + 2, + 8 + ], + [ + 2, + 102 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 37 + ], + [ + 19, + 30 + ], + [ + 11, + 21 + ], + [ + 36, + 100 + ], + [ + 0, + 32 + ], + [ + 16, + 25 + ], + [ + 5, + 15 + ], + [ + 58, + 70 + ], + [ + 11, + 18 + ], + [ + 49, + 60 + ], + [ + 44, + 54 + ], + [ + 53, + 63 + ], + [ + 0, + 10 + ], + [ + 8, + 69 + ], + [ + 47, + 55 + ], + [ + 4, + 81 + ], + [ + 25, + 62 + ], + [ + 61, + 71 + ], + [ + 0, + 62 + ], + [ + 20, + 85 + ], + [ + 0, + 67 + ], + [ + 8, + 15 + ], + [ + 23, + 58 + ], + [ + 5, + 10 + ], + [ + 7, + 14 + ], + [ + 54, + 74 + ], + [ + 68, + 79 + ], + [ + 12, + 67 + ], + [ + 16, + 26 + ], + [ + 32, + 76 + ], + [ + 14, + 22 + ], + [ + 18, + 26 + ], + [ + 3, + 40 + ], + [ + 12, + 17 + ], + [ + 10, + 51 + ], + [ + 3, + 43 + ], + [ + 12, + 18 + ], + [ + 1, + 3 + ], + [ + 7, + 51 + ], + [ + 0, + 35 + ], + [ + 10, + 16 + ], + [ + 55, + 62 + ], + [ + 6, + 10 + ], + [ + 7, + 10 + ], + [ + 12, + 20 + ], + [ + 10, + 48 + ], + [ + 6, + 8 + ], + [ + 1, + 5 + ], + [ + 0, + 22 + ], + [ + 1, + 46 + ], + [ + 4, + 52 + ], + [ + 3, + 40 + ], + [ + 10, + 13 + ], + [ + 1, + 6 + ], + [ + 9, + 12 + ], + [ + 10, + 23 + ], + [ + 22, + 27 + ], + [ + 28, + 30 + ], + [ + 16, + 46 + ], + [ + 0, + 2 + ], + [ + 6, + 35 + ], + [ + 6, + 19 + ], + [ + 1, + 41 + ], + [ + 9, + 26 + ], + [ + 37, + 40 + ], + [ + 18, + 26 + ], + [ + 24, + 39 + ], + [ + 17, + 38 + ], + [ + 5, + 22 + ], + [ + 25, + 36 + ], + [ + 15, + 19 + ], + [ + 7, + 33 + ], + [ + 19, + 26 + ], + [ + 13, + 32 + ], + [ + 0, + 30 + ], + [ + 26, + 30 + ], + [ + 12, + 18 + ], + [ + 17, + 28 + ], + [ + 4, + 20 + ], + [ + 6, + 24 + ], + [ + 21, + 25 + ], + [ + 6, + 18 + ], + [ + 8, + 21 + ], + [ + 9, + 21 + ], + [ + 4, + 6 + ], + [ + 8, + 12 + ], + [ + 4, + 8 + ], + [ + 8, + 18 + ], + [ + 6, + 16 + ], + [ + 7, + 16 + ], + [ + 7, + 13 + ], + [ + 5, + 14 + ], + [ + 10, + 13 + ], + [ + 3, + 12 + ], + [ + 0, + 7 + ], + [ + 7, + 10 + ], + [ + 3, + 9 + ], + [ + 6, + 8 + ], + [ + 3, + 6 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 21.353944832997513, + "first_execute_seconds": 0.005878208001377061, + "warm_seconds_median": 0.0005736249950132333, + "warm_seconds_mad": 6.845800817245618e-05, + "peak_rss_bytes": 235749376, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.13218328602748e-06, + "valid": true, + "failure": null, + "worker_pid": 64154, + "parent_pid": 63648, + "energy": -7.5520806312561035, + "gradient": [ + [ + [ + 3.9830631237691705e-08, + 3.868741060841785e-08, + 5.015229831428769e-08, + -2.0859369342929313e-08, + -3.984052909800084e-08, + -3.744793630744425e-08, + -7.057110451569315e-10, + -2.819684219446117e-08, + -4.223752902987599e-09, + -4.439761269736664e-08, + 3.076225141285249e-08, + 0.0 + ], + [ + -0.23134025931358337, + -0.07655242085456848, + -0.04568466544151306, + 0.15175996720790863, + -0.20720162987709045, + 0.17164313793182373, + 0.2646394968032837, + 0.28728237748146057, + 0.029779884964227676, + 0.13543245196342468, + 0.08592768758535385, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419119775295258, + 0.04275720566511154, + 0.05520385876297951, + 0.03652773052453995, + 0.026771755889058113, + -0.0023774609435349703, + -0.041220374405384064, + -0.02579500898718834, + -0.03680683299899101, + -0.01981794647872448, + 0.010259328410029411, + 0.0 + ], + [ + -0.20466908812522888, + -0.04751715064048767, + -0.06417590379714966, + 0.10693255066871643, + -0.2491123080253601, + 0.16464166343212128, + 0.24170827865600586, + 0.2508839964866638, + 0.01883074641227722, + 0.14670832455158234, + 0.10935600847005844, + 0.15987294912338257 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 46728 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 38192, + "contractions_per_energy": 1, + "estimated_energy_flops": 38192, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 192, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 1536, + "residual_profile": { + "residual_count": 698, + "total_bytes": 45744, + "recomputable_bytes": 44448, + "bytes_by_category": { + "primitive:dot_general": 31872, + "jitted:_diag": 6688, + "primitive:conj": 2208, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:concatenate": 704, + "primitive:exp": 704, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 48 + ], + [ + 2, + 47 + ], + [ + 2, + 46 + ], + [ + 2, + 45 + ], + [ + 2, + 44 + ], + [ + 2, + 43 + ], + [ + 2, + 42 + ], + [ + 2, + 41 + ], + [ + 2, + 40 + ], + [ + 2, + 39 + ], + [ + 2, + 38 + ], + [ + 0, + 84 + ], + [ + 0, + 93 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 13, + 25 + ], + [ + 14, + 24 + ], + [ + 14, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 22 + ], + [ + 1, + 44 + ], + [ + 1, + 43 + ], + [ + 1, + 42 + ], + [ + 1, + 41 + ], + [ + 1, + 40 + ], + [ + 1, + 39 + ], + [ + 1, + 38 + ], + [ + 1, + 37 + ], + [ + 1, + 36 + ], + [ + 1, + 35 + ], + [ + 0, + 34 + ], + [ + 0, + 43 + ], + [ + 18, + 42 + ], + [ + 19, + 54 + ], + [ + 18, + 40 + ], + [ + 28, + 52 + ], + [ + 28, + 48 + ], + [ + 36, + 47 + ], + [ + 27, + 49 + ], + [ + 44, + 48 + ], + [ + 0, + 44 + ], + [ + 17, + 46 + ], + [ + 43, + 45 + ], + [ + 8, + 42 + ], + [ + 32, + 43 + ], + [ + 41, + 42 + ], + [ + 8, + 32 + ], + [ + 8, + 31 + ], + [ + 38, + 39 + ], + [ + 8, + 30 + ], + [ + 8, + 29 + ], + [ + 35, + 36 + ], + [ + 8, + 28 + ], + [ + 8, + 27 + ], + [ + 32, + 33 + ], + [ + 8, + 26 + ], + [ + 8, + 25 + ], + [ + 29, + 30 + ], + [ + 7, + 24 + ], + [ + 14, + 28 + ], + [ + 21, + 27 + ], + [ + 25, + 26 + ], + [ + 20, + 25 + ], + [ + 13, + 24 + ], + [ + 6, + 23 + ], + [ + 0, + 18 + ], + [ + 5, + 21 + ], + [ + 10, + 20 + ], + [ + 15, + 19 + ], + [ + 10, + 18 + ], + [ + 5, + 17 + ], + [ + 0, + 16 + ], + [ + 3, + 14 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 10, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 16.73864208300074, + "first_execute_seconds": 0.005021958000725135, + "warm_seconds_median": 0.00046762500278418884, + "warm_seconds_mad": 4.8624999180901796e-05, + "peak_rss_bytes": 300482560, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.2709649283936817e-06, + "valid": true, + "failure": null, + "worker_pid": 63772, + "parent_pid": 63648, + "energy": -7.552077770233154, + "gradient": [ + [ + [ + 7.521985878611304e-08, + 7.22148172371817e-08, + -2.0323298599578266e-09, + 2.756842931717074e-08, + 1.2324218090498107e-08, + -3.7456455714846015e-08, + -4.575747425406007e-08, + -4.321492852454867e-08, + -4.883499826746629e-08, + 4.503917239162547e-08, + 2.3340607668842495e-08, + 0.0 + ], + [ + -0.23134005069732666, + -0.0765523910522461, + -0.04568471014499664, + 0.15175975859165192, + -0.2072015255689621, + 0.17164310812950134, + 0.26463937759399414, + 0.287282258272171, + 0.02977987378835678, + 0.1354323923587799, + 0.08592768758535385, + 0.15341277420520782 + ] + ], + [ + [ + 0.0741911381483078, + 0.04275713488459587, + 0.05520389974117279, + 0.03652774915099144, + 0.026771720498800278, + -0.002377497497946024, + -0.04122038185596466, + -0.02579503320157528, + -0.036806706339120865, + -0.019817911088466644, + 0.010259323753416538, + 0.0 + ], + [ + -0.2046690434217453, + -0.047517139464616776, + -0.06417584419250488, + 0.10693243145942688, + -0.24911218881607056, + 0.16464169323444366, + 0.24170814454555511, + 0.2508838474750519, + 0.018830738961696625, + 0.14670830965042114, + 0.10935596376657486, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 47688 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34576, + "contractions_per_energy": 1, + "estimated_energy_flops": 34576, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48848, + "recomputable_bytes": 47552, + "bytes_by_category": { + "primitive:dot_general": 35136, + "jitted:_diag": 6688, + "primitive:conj": 2368, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 11, + 34 + ], + [ + 5, + 27 + ], + [ + 8, + 29 + ], + [ + 14, + 68 + ], + [ + 4, + 23 + ], + [ + 10, + 62 + ], + [ + 4, + 21 + ], + [ + 11, + 61 + ], + [ + 15, + 64 + ], + [ + 11, + 59 + ], + [ + 1, + 14 + ], + [ + 9, + 55 + ], + [ + 6, + 52 + ], + [ + 9, + 53 + ], + [ + 8, + 51 + ], + [ + 3, + 11 + ], + [ + 2, + 9 + ], + [ + 3, + 9 + ], + [ + 4, + 43 + ], + [ + 2, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 38 + ], + [ + 44, + 55 + ], + [ + 37, + 94 + ], + [ + 56, + 68 + ], + [ + 62, + 73 + ], + [ + 36, + 76 + ], + [ + 0, + 85 + ], + [ + 17, + 28 + ], + [ + 59, + 69 + ], + [ + 21, + 31 + ], + [ + 2, + 86 + ], + [ + 11, + 67 + ], + [ + 50, + 59 + ], + [ + 0, + 83 + ], + [ + 38, + 92 + ], + [ + 21, + 90 + ], + [ + 49, + 57 + ], + [ + 27, + 87 + ], + [ + 62, + 88 + ], + [ + 39, + 47 + ], + [ + 29, + 38 + ], + [ + 41, + 83 + ], + [ + 6, + 68 + ], + [ + 29, + 59 + ], + [ + 43, + 50 + ], + [ + 28, + 76 + ], + [ + 41, + 47 + ], + [ + 31, + 52 + ], + [ + 21, + 70 + ], + [ + 26, + 50 + ], + [ + 1, + 10 + ], + [ + 13, + 20 + ], + [ + 14, + 20 + ], + [ + 4, + 45 + ], + [ + 14, + 32 + ], + [ + 17, + 21 + ], + [ + 18, + 23 + ], + [ + 5, + 12 + ], + [ + 1, + 31 + ], + [ + 0, + 42 + ], + [ + 0, + 6 + ], + [ + 18, + 21 + ], + [ + 12, + 50 + ], + [ + 10, + 37 + ], + [ + 8, + 59 + ], + [ + 3, + 7 + ], + [ + 0, + 32 + ], + [ + 6, + 21 + ], + [ + 10, + 46 + ], + [ + 8, + 10 + ], + [ + 47, + 52 + ], + [ + 5, + 24 + ], + [ + 12, + 18 + ], + [ + 0, + 53 + ], + [ + 0, + 21 + ], + [ + 20, + 48 + ], + [ + 15, + 23 + ], + [ + 33, + 49 + ], + [ + 9, + 11 + ], + [ + 13, + 35 + ], + [ + 10, + 20 + ], + [ + 18, + 27 + ], + [ + 10, + 33 + ], + [ + 10, + 27 + ], + [ + 9, + 20 + ], + [ + 6, + 28 + ], + [ + 32, + 40 + ], + [ + 10, + 14 + ], + [ + 18, + 38 + ], + [ + 9, + 37 + ], + [ + 27, + 33 + ], + [ + 15, + 35 + ], + [ + 0, + 34 + ], + [ + 8, + 24 + ], + [ + 4, + 24 + ], + [ + 13, + 31 + ], + [ + 27, + 29 + ], + [ + 18, + 24 + ], + [ + 10, + 27 + ], + [ + 12, + 18 + ], + [ + 11, + 26 + ], + [ + 20, + 21 + ], + [ + 20, + 22 + ], + [ + 6, + 20 + ], + [ + 11, + 21 + ], + [ + 18, + 21 + ], + [ + 6, + 18 + ], + [ + 2, + 19 + ], + [ + 4, + 17 + ], + [ + 0, + 13 + ], + [ + 7, + 8 + ], + [ + 8, + 15 + ], + [ + 1, + 4 + ], + [ + 7, + 9 + ], + [ + 2, + 12 + ], + [ + 0, + 8 + ], + [ + 1, + 3 + ], + [ + 3, + 4 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 14.188068916002521, + "first_execute_seconds": 0.01023916599660879, + "warm_seconds_median": 0.0006061249951017089, + "warm_seconds_mad": 1.8167011148761958e-05, + "peak_rss_bytes": 260636672, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.2214357505432706e-06, + "valid": true, + "failure": null, + "worker_pid": 63994, + "parent_pid": 63648, + "energy": -7.552080154418945, + "gradient": [ + [ + [ + -5.888771426043604e-08, + -1.5327955793509318e-08, + -4.667469255537071e-08, + -4.134831144142481e-08, + -7.707205895712832e-08, + -2.255286091212838e-08, + 4.380780183055322e-08, + -1.3379200858310014e-08, + -9.353848184900926e-08, + -1.3353623273815174e-07, + -6.476184921666572e-09, + 0.0 + ], + [ + -0.23134002089500427, + -0.07655240595340729, + -0.04568469524383545, + 0.15175984799861908, + -0.20720158517360687, + 0.17164316773414612, + 0.2646394371986389, + 0.28728222846984863, + 0.029779888689517975, + 0.13543245196342468, + 0.0859275832772255, + 0.1534128189086914 + ] + ], + [ + [ + 0.07419107854366302, + 0.04275711625814438, + 0.05520377308130264, + 0.03652772679924965, + 0.026771768927574158, + -0.002377391094341874, + -0.04122041538357735, + -0.02579503133893013, + -0.0368068665266037, + -0.019817931577563286, + 0.010259313508868217, + 0.0 + ], + [ + -0.20466896891593933, + -0.04751715064048767, + -0.06417590379714966, + 0.10693241655826569, + -0.24911221861839294, + 0.16464169323444366, + 0.24170824885368347, + 0.25088387727737427, + 0.018830731511116028, + 0.14670827984809875, + 0.10935590416193008, + 0.15987282991409302 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 50376 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 39568, + "contractions_per_energy": 1, + "estimated_energy_flops": 39568, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 384, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 3072, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48432, + "recomputable_bytes": 47136, + "bytes_by_category": { + "primitive:dot_general": 34624, + "jitted:_diag": 6688, + "primitive:conj": 2144, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:concatenate": 704, + "primitive:exp": 704, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.451748082996346, + "first_execute_seconds": 0.0019053340001846664, + "warm_seconds_median": 0.0007138330038287677, + "warm_seconds_mad": 3.391600330360234e-05, + "peak_rss_bytes": 267370496, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.127637118170148e-06, + "valid": true, + "failure": null, + "worker_pid": 64648, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.418471384795339e-08, + -4.2752867912554393e-10, + -1.6857093498856557e-08, + -5.958359139413005e-09, + 1.9740063805784303e-08, + -7.649266109410746e-09, + -6.423874765459914e-10, + -2.814672939166485e-08, + -1.9124918537727353e-08, + 1.4908870582530653e-08, + 3.8180267836196435e-08, + 0.0 + ], + [ + -0.2313401848077774, + -0.07655242085456848, + -0.04568478465080261, + 0.15175983309745789, + -0.20720161497592926, + 0.1716432124376297, + 0.2646394371986389, + 0.28728237748146057, + 0.029779890552163124, + 0.13543248176574707, + 0.08592767268419266, + 0.1534128487110138 + ] + ], + [ + [ + 0.07419123500585556, + 0.04275710880756378, + 0.05520382896065712, + 0.03652768209576607, + 0.02677176147699356, + -0.0023774481378495693, + -0.041220396757125854, + -0.0257949847728014, + -0.03680678829550743, + -0.019817957654595375, + 0.010259316302835941, + 0.0 + ], + [ + -0.20466910302639008, + -0.04751715064048767, + -0.06417588889598846, + 0.10693253576755524, + -0.2491123229265213, + 0.16464167833328247, + 0.24170823395252228, + 0.25088393688201904, + 0.01883074641227722, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35504, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "constant": 288, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.2075114170002053, + "first_execute_seconds": 0.002025875000981614, + "warm_seconds_median": 0.0007086670011631213, + "warm_seconds_mad": 3.666700649773702e-05, + "peak_rss_bytes": 269582336, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.127637118170148e-06, + "valid": true, + "failure": null, + "worker_pid": 64702, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.418471384795339e-08, + -4.2752867912554393e-10, + -1.6857093498856557e-08, + -5.958359139413005e-09, + 1.9740063805784303e-08, + -7.649266109410746e-09, + -6.423874765459914e-10, + -2.814672939166485e-08, + -1.9124918537727353e-08, + 1.4908870582530653e-08, + 3.8180267836196435e-08, + 0.0 + ], + [ + -0.2313401848077774, + -0.07655242085456848, + -0.04568478465080261, + 0.15175983309745789, + -0.20720161497592926, + 0.1716432124376297, + 0.2646394371986389, + 0.28728237748146057, + 0.029779890552163124, + 0.13543248176574707, + 0.08592767268419266, + 0.1534128487110138 + ] + ], + [ + [ + 0.07419123500585556, + 0.04275710880756378, + 0.05520382896065712, + 0.03652768209576607, + 0.02677176147699356, + -0.0023774481378495693, + -0.041220396757125854, + -0.0257949847728014, + -0.03680678829550743, + -0.019817957654595375, + 0.010259316302835941, + 0.0 + ], + [ + -0.20466910302639008, + -0.04751715064048767, + -0.06417588889598846, + 0.10693253576755524, + -0.2491123229265213, + 0.16464167833328247, + 0.24170823395252228, + 0.25088393688201904, + 0.01883074641227722, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 820, + "temp_size_in_bytes": 45600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35504, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "constant": 288, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.221459167005378, + "first_execute_seconds": 0.001950958998349961, + "warm_seconds_median": 0.0007797080033924431, + "warm_seconds_mad": 3.0291994335129857e-05, + "peak_rss_bytes": 255131648, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.127637118170148e-06, + "valid": true, + "failure": null, + "worker_pid": 64780, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.418471384795339e-08, + -4.2752867912554393e-10, + -1.6857093498856557e-08, + -5.958359139413005e-09, + 1.9740063805784303e-08, + -7.649266109410746e-09, + -6.423874765459914e-10, + -2.814672939166485e-08, + -1.9124918537727353e-08, + 1.4908870582530653e-08, + 3.8180267836196435e-08, + 0.0 + ], + [ + -0.2313401848077774, + -0.07655242085456848, + -0.04568478465080261, + 0.15175983309745789, + -0.20720161497592926, + 0.1716432124376297, + 0.2646394371986389, + 0.28728237748146057, + 0.029779890552163124, + 0.13543248176574707, + 0.08592767268419266, + 0.1534128487110138 + ] + ], + [ + [ + 0.07419123500585556, + 0.04275710880756378, + 0.05520382896065712, + 0.03652768209576607, + 0.02677176147699356, + -0.0023774481378495693, + -0.041220396757125854, + -0.0257949847728014, + -0.03680678829550743, + -0.019817957654595375, + 0.010259316302835941, + 0.0 + ], + [ + -0.20466910302639008, + -0.04751715064048767, + -0.06417588889598846, + 0.10693253576755524, + -0.2491123229265213, + 0.16464167833328247, + 0.24170823395252228, + 0.25088393688201904, + 0.01883074641227722, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 844, + "temp_size_in_bytes": 13112 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 100, + "total_bytes": 6976, + "recomputable_bytes": 6336, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "primitive:stack": 624, + "constant": 496, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.440799625001091, + "first_execute_seconds": 0.00208379200194031, + "warm_seconds_median": 0.0008030829994822852, + "warm_seconds_mad": 2.8583002858795226e-05, + "peak_rss_bytes": 261472256, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.127637118170148e-06, + "valid": true, + "failure": null, + "worker_pid": 64819, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.418471384795339e-08, + -4.2752867912554393e-10, + -1.6857093498856557e-08, + -5.958359139413005e-09, + 1.9740063805784303e-08, + -7.649266109410746e-09, + -6.423874765459914e-10, + -2.814672939166485e-08, + -1.9124918537727353e-08, + 1.4908870582530653e-08, + 3.8180267836196435e-08, + 0.0 + ], + [ + -0.2313401848077774, + -0.07655242085456848, + -0.04568478465080261, + 0.15175983309745789, + -0.20720161497592926, + 0.1716432124376297, + 0.2646394371986389, + 0.28728237748146057, + 0.029779890552163124, + 0.13543248176574707, + 0.08592767268419266, + 0.1534128487110138 + ] + ], + [ + [ + 0.07419123500585556, + 0.04275710880756378, + 0.05520382896065712, + 0.03652768209576607, + 0.02677176147699356, + -0.0023774481378495693, + -0.041220396757125854, + -0.0257949847728014, + -0.03680678829550743, + -0.019817957654595375, + 0.010259316302835941, + 0.0 + ], + [ + -0.20466910302639008, + -0.04751715064048767, + -0.06417588889598846, + 0.10693253576755524, + -0.2491123229265213, + 0.16464167833328247, + 0.24170823395252228, + 0.25088393688201904, + 0.01883074641227722, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 17096 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 100, + "total_bytes": 6976, + "recomputable_bytes": 6336, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 896, + "primitive:stack": 624, + "constant": 496, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.931841167002858, + "first_execute_seconds": 0.0033629579993430525, + "warm_seconds_median": 0.0010677079990273342, + "warm_seconds_mad": 7.258300320245326e-05, + "peak_rss_bytes": 262520832, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.127637118170148e-06, + "valid": true, + "failure": null, + "worker_pid": 64842, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.418471384795339e-08, + -4.2752867912554393e-10, + -1.6857093498856557e-08, + -5.958359139413005e-09, + 1.9740063805784303e-08, + -7.649266109410746e-09, + -6.423874765459914e-10, + -2.814672939166485e-08, + -1.9124918537727353e-08, + 1.4908870582530653e-08, + 3.8180267836196435e-08, + 0.0 + ], + [ + -0.2313401848077774, + -0.07655242085456848, + -0.04568478465080261, + 0.15175983309745789, + -0.20720161497592926, + 0.1716432124376297, + 0.2646394371986389, + 0.28728237748146057, + 0.029779890552163124, + 0.13543248176574707, + 0.08592767268419266, + 0.1534128487110138 + ] + ], + [ + [ + 0.07419123500585556, + 0.04275710880756378, + 0.05520382896065712, + 0.03652768209576607, + 0.02677176147699356, + -0.0023774481378495693, + -0.041220396757125854, + -0.0257949847728014, + -0.03680678829550743, + -0.019817957654595375, + 0.010259316302835941, + 0.0 + ], + [ + -0.20466910302639008, + -0.04751715064048767, + -0.06417588889598846, + 0.10693253576755524, + -0.2491123229265213, + 0.16464167833328247, + 0.24170823395252228, + 0.25088393688201904, + 0.01883074641227722, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 876, + "temp_size_in_bytes": 23720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 90, + "total_bytes": 4396, + "recomputable_bytes": 4092, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:reshape": 300, + "primitive:conj": 240, + "constant": 160, + "literal": 144, + "primitive:concatenate": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.260930709002423, + "first_execute_seconds": 0.001953042003151495, + "warm_seconds_median": 0.0006568329990841448, + "warm_seconds_mad": 2.4041997676249593e-05, + "peak_rss_bytes": 254967808, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 64867, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28368, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.0199843750015134, + "first_execute_seconds": 0.002053750002232846, + "warm_seconds_median": 0.0005943329961155541, + "warm_seconds_mad": 1.2126001820433885e-05, + "peak_rss_bytes": 261521408, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 64938, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 820, + "temp_size_in_bytes": 36960 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28368, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.609477500001958, + "first_execute_seconds": 0.001950457997736521, + "warm_seconds_median": 0.0007626250007888302, + "warm_seconds_mad": 5.1959003030788153e-05, + "peak_rss_bytes": 254640128, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 65001, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 844, + "temp_size_in_bytes": 13496 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7504, + "recomputable_bytes": 6880, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8068407500031753, + "first_execute_seconds": 0.002079041994875297, + "warm_seconds_median": 0.0009612920039216988, + "warm_seconds_mad": 0.0001419159962097183, + "peak_rss_bytes": 262471680, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 65054, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 17288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7504, + "recomputable_bytes": 6880, + "bytes_by_category": { + "primitive:scan": 3840, + "primitive:dot_general": 1984, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.05863966600009, + "first_execute_seconds": 0.0024901669967221096, + "warm_seconds_median": 0.0010164579944103025, + "warm_seconds_mad": 4.004200309282169e-05, + "peak_rss_bytes": 265355264, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.1486906362519773e-06, + "valid": true, + "failure": null, + "worker_pid": 65093, + "parent_pid": 63648, + "energy": -7.552081108093262, + "gradient": [ + [ + [ + -2.536028986810379e-08, + 2.9373939725019227e-08, + -3.171242113353401e-08, + 1.6393279622661794e-08, + 2.7161256355157093e-08, + -2.999004777848313e-08, + -3.574314177967608e-10, + -4.293096367291582e-08, + -1.9143364227147686e-08, + -1.4595293862385006e-08, + 9.924825405960291e-10, + 0.0 + ], + [ + -0.23134027421474457, + -0.07655245065689087, + -0.04568476974964142, + 0.15175990760326385, + -0.20720168948173523, + 0.17164328694343567, + 0.26463958621025085, + 0.28728246688842773, + 0.029779896140098572, + 0.13543254137039185, + 0.08592773228883743, + 0.1534128040075302 + ] + ], + [ + [ + 0.07419120520353317, + 0.04275713860988617, + 0.055203963071107864, + 0.036527711898088455, + 0.02677188068628311, + -0.0023774667643010616, + -0.0412205308675766, + -0.025795012712478638, + -0.03680688887834549, + -0.019817912951111794, + 0.01025934237986803, + 0.0 + ], + [ + -0.2046692669391632, + -0.04751718044281006, + -0.06417590379714966, + 0.10693256556987762, + -0.24911236763000488, + 0.1646418422460556, + 0.24170835316181183, + 0.2508840560913086, + 0.018830738961696625, + 0.14670836925506592, + 0.10935599356889725, + 0.15987291932106018 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 876, + "temp_size_in_bytes": 20840 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4924, + "recomputable_bytes": 4636, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1536, + "primitive:stack": 320, + "primitive:reshape": 300, + "primitive:conj": 240, + "constant": 144, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "primitive:concatenate": 32 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6907654159949743, + "first_execute_seconds": 0.0021667080000042915, + "warm_seconds_median": 0.0006369999973685481, + "warm_seconds_mad": 0.00012833399523515254, + "peak_rss_bytes": 255606784, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65150, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 44384 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38608, + "recomputable_bytes": 38192, + "bytes_by_category": { + "primitive:scan": 35584, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0694000000003143, + "first_execute_seconds": 0.0018502499951864593, + "warm_seconds_median": 0.0007285419997060671, + "warm_seconds_mad": 4.5899651013314724e-07, + "peak_rss_bytes": 272416768, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65197, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 820, + "temp_size_in_bytes": 47968 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 38608, + "recomputable_bytes": 38192, + "bytes_by_category": { + "primitive:scan": 35584, + "primitive:dot_general": 1280, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 272, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.685517500001879, + "first_execute_seconds": 0.0020857910058111884, + "warm_seconds_median": 0.0007526660047005862, + "warm_seconds_mad": 8.937400707509369e-05, + "peak_rss_bytes": 254050304, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65252, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 844, + "temp_size_in_bytes": 13816 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7088, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1216, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.477739166999527, + "first_execute_seconds": 0.0020426670016604476, + "warm_seconds_median": 0.0008572910010116175, + "warm_seconds_mad": 1.5748999430797994e-05, + "peak_rss_bytes": 261439488, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65290, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 868, + "temp_size_in_bytes": 18120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 7088, + "recomputable_bytes": 6464, + "bytes_by_category": { + "primitive:scan": 4224, + "primitive:dot_general": 1216, + "primitive:stack": 560, + "constant": 480, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 5 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 5, + 9 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 6 + ], + [ + 1, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 8 + ], + [ + 4, + 5 + ], + [ + 0, + 5 + ], + [ + 4, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.9785121660024743, + "first_execute_seconds": 0.002468957995006349, + "warm_seconds_median": 0.0011158330016769469, + "warm_seconds_mad": 7.779199950164184e-05, + "peak_rss_bytes": 265043968, + "energy_abs_error": 9.5367431640625e-07, + "gradient_relative_l2_error": 1.1913804183476044e-06, + "valid": true, + "failure": null, + "worker_pid": 65381, + "parent_pid": 63648, + "energy": -7.5520853996276855, + "gradient": [ + [ + [ + -1.791022619102023e-08, + -4.1524117477820255e-09, + -9.448534399325581e-09, + 1.4919123714207672e-09, + -1.0043553544392125e-08, + 3.704447948393863e-08, + -7.690346137678716e-10, + -2.824695499725749e-08, + 1.0677407402681638e-08, + 2.989948200138315e-08, + 6.796812357379167e-08, + 0.0 + ], + [ + -0.2313401699066162, + -0.07655240595340729, + -0.04568471014499664, + 0.1517598181962967, + -0.20720160007476807, + 0.17164316773414612, + 0.2646394371986389, + 0.287282258272171, + 0.02977987937629223, + 0.13543248176574707, + 0.08592771738767624, + 0.15341278910636902 + ] + ], + [ + [ + 0.07419126480817795, + 0.04275710880756378, + 0.055203888565301895, + 0.03652772679924965, + 0.02677176147699356, + -0.0023774332366883755, + -0.04122038185596466, + -0.02579498291015625, + -0.036806780844926834, + -0.0198178980499506, + 0.010259338654577732, + 0.0 + ], + [ + -0.2046690732240677, + -0.047517143189907074, + -0.06417591869831085, + 0.10693244636058807, + -0.24911223351955414, + 0.16464167833328247, + 0.2417082041501999, + 0.25088390707969666, + 0.018830738961696625, + 0.14670830965042114, + 0.10935603827238083, + 0.1598728895187378 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 876, + "temp_size_in_bytes": 24424 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 3, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 10, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "last_path_flops": 520, + "estimated_energy_flops": 31576, + "modeled_checkpoint_boundaries": 7, + "modeled_checkpoint_bytes": 2688, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4508, + "recomputable_bytes": 4220, + "bytes_by_category": { + "primitive:scan": 1920, + "primitive:dot_general": 1216, + "primitive:stack": 320, + "primitive:reshape": 300, + "primitive:conj": 176, + "constant": 144, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 5.518581249998533, + "first_execute_seconds": 0.042650291994505096, + "warm_seconds_median": 0.003297249997558538, + "warm_seconds_mad": 0.00024420800036750734, + "peak_rss_bytes": 335429632, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 63701, + "parent_pid": 63648, + "energy": -7.552084445953369, + "gradient": [ + [ + [ + -4.7711736783639935e-08, + -4.8855326895136386e-08, + -5.407180125871491e-08, + -5.438641892396845e-08, + -5.476574216345398e-08, + -3.743941334732881e-08, + -5.98354290559655e-08, + -1.0246878900943557e-07, + -1.2339614841039293e-07, + -5.953730308760896e-08, + -5.11905184907846e-08, + 0.0 + ], + [ + -0.23134030401706696, + -0.07655242830514908, + -0.04568493366241455, + 0.15175983309745789, + -0.2072017937898636, + 0.17164325714111328, + 0.2646397054195404, + 0.2872825562953949, + 0.029779883101582527, + 0.13543257117271423, + 0.08592765778303146, + 0.1534130722284317 + ] + ], + [ + [ + 0.0741911232471466, + 0.042757272720336914, + 0.05520373582839966, + 0.03652774542570114, + 0.026771653443574905, + -0.0023773019202053547, + -0.041220586746931076, + -0.025794774293899536, + -0.03680649399757385, + -0.019817771390080452, + 0.010259872302412987, + 0.0 + ], + [ + -0.20466871559619904, + -0.04751717671751976, + -0.06417591869831085, + 0.10693256556987762, + -0.2491123378276825, + 0.16464173793792725, + 0.24170854687690735, + 0.25088396668434143, + 0.018830768764019012, + 0.14670851826667786, + 0.10935594886541367, + 0.15987318754196167 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 33280, + "temp_size_in_bytes": 3776456 + }, + "static_estimate": { + "parameter_count": 46, + "state_bytes": 32768, + "saved_boundary_upper_bound_bytes": 98304, + "estimated_forward_gate_applications": 46, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-report-n8-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-report-n8-d2.json new file mode 100644 index 000000000..bd407d385 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-spatial-transfer-report-n8-d2.json @@ -0,0 +1,8939 @@ +{ + "request": { + "spec": { + "nqubits": 8, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 600.0 + }, + "selected": { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.233922250001342, + "first_execute_seconds": 0.0014566669997293502, + "warm_seconds_median": 0.0004925419998471625, + "warm_seconds_mad": 3.283299884060398e-05, + "peak_rss_bytes": 258932736, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63379, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 12360 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1248, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 8, + 46 + ], + [ + 14, + 50 + ], + [ + 1, + 14 + ], + [ + 11, + 45 + ], + [ + 4, + 15 + ], + [ + 10, + 42 + ], + [ + 3, + 12 + ], + [ + 7, + 37 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 66 + ], + [ + 33, + 40 + ], + [ + 0, + 5 + ], + [ + 33, + 61 + ], + [ + 8, + 15 + ], + [ + 0, + 4 + ], + [ + 19, + 49 + ], + [ + 30, + 53 + ], + [ + 0, + 51 + ], + [ + 0, + 22 + ], + [ + 7, + 59 + ], + [ + 16, + 43 + ], + [ + 13, + 39 + ], + [ + 33, + 54 + ], + [ + 2, + 7 + ], + [ + 0, + 16 + ], + [ + 4, + 52 + ], + [ + 10, + 47 + ], + [ + 27, + 49 + ], + [ + 28, + 33 + ], + [ + 27, + 31 + ], + [ + 0, + 46 + ], + [ + 34, + 36 + ], + [ + 23, + 41 + ], + [ + 1, + 4 + ], + [ + 14, + 35 + ], + [ + 11, + 14 + ], + [ + 11, + 13 + ], + [ + 16, + 44 + ], + [ + 10, + 29 + ], + [ + 0, + 24 + ], + [ + 13, + 15 + ], + [ + 24, + 39 + ], + [ + 0, + 22 + ], + [ + 0, + 4 + ], + [ + 3, + 26 + ], + [ + 9, + 30 + ], + [ + 2, + 3 + ], + [ + 10, + 12 + ], + [ + 2, + 33 + ], + [ + 9, + 12 + ], + [ + 10, + 25 + ], + [ + 2, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 8 + ], + [ + 10, + 11 + ], + [ + 21, + 26 + ], + [ + 5, + 9 + ], + [ + 3, + 8 + ], + [ + 11, + 23 + ], + [ + 10, + 20 + ], + [ + 11, + 22 + ], + [ + 19, + 21 + ], + [ + 2, + 8 + ], + [ + 16, + 17 + ], + [ + 12, + 14 + ], + [ + 9, + 16 + ], + [ + 14, + 16 + ], + [ + 1, + 14 + ], + [ + 10, + 11 + ], + [ + 0, + 7 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.944144832996244, + "first_execute_seconds": 0.0019014159988728352, + "warm_seconds_median": 0.0003008339990628883, + "warm_seconds_mad": 1.700099528534338e-05, + "peak_rss_bytes": 279691264, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4428091605773884e-06, + "valid": true, + "failure": null, + "worker_pid": 62837, + "parent_pid": 62613, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.015582290478050709, + 0.16267922520637512, + 0.4295191168785095, + 0.5784918665885925, + 0.1439048945903778, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780537828803062, + 0.00016313680680468678, + -0.049169186502695084, + -0.07137010246515274, + 0.04252944141626358, + 0.018034664914011955, + -0.1602603644132614, + -0.1268349289894104 + ] + ], + [ + [ + -0.1835923194885254, + -0.024095188826322556, + 0.3724292516708374, + 0.36280491948127747, + -0.10408812761306763, + 0.41859301924705505, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588508516550064, + -0.0586484931409359, + -0.21433725953102112, + -0.04868512228131294, + -0.10687990486621857, + -0.2270757257938385, + -0.05777726694941521 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 28168 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 18600, + "contractions_per_energy": 1, + "estimated_energy_flops": 18600, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 26704, + "recomputable_bytes": 25856, + "bytes_by_category": { + "primitive:dot_general": 17632, + "jitted:_diag": 4256, + "primitive:conj": 1472, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 416, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 32 + ], + [ + 2, + 31 + ], + [ + 2, + 30 + ], + [ + 2, + 29 + ], + [ + 2, + 28 + ], + [ + 2, + 27 + ], + [ + 2, + 26 + ], + [ + 0, + 56 + ], + [ + 0, + 61 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 9, + 17 + ], + [ + 10, + 16 + ], + [ + 10, + 15 + ], + [ + 10, + 14 + ], + [ + 10, + 13 + ], + [ + 10, + 12 + ], + [ + 10, + 11 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 0, + 10 + ], + [ + 0, + 14 + ], + [ + 1, + 28 + ], + [ + 1, + 27 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 27 + ], + [ + 10, + 26 + ], + [ + 11, + 34 + ], + [ + 10, + 24 + ], + [ + 16, + 32 + ], + [ + 16, + 28 + ], + [ + 20, + 27 + ], + [ + 15, + 29 + ], + [ + 24, + 28 + ], + [ + 0, + 24 + ], + [ + 9, + 26 + ], + [ + 23, + 25 + ], + [ + 4, + 22 + ], + [ + 16, + 23 + ], + [ + 21, + 22 + ], + [ + 4, + 16 + ], + [ + 4, + 15 + ], + [ + 18, + 19 + ], + [ + 4, + 14 + ], + [ + 4, + 13 + ], + [ + 15, + 16 + ], + [ + 3, + 12 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 11, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.495884542004205, + "first_execute_seconds": 0.0038062500025262125, + "warm_seconds_median": 0.00039116599509725347, + "warm_seconds_mad": 4.783400800079107e-05, + "peak_rss_bytes": 283426816, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.378262265054704e-06, + "valid": true, + "failure": null, + "worker_pid": 62715, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582213178277016, + 0.16267919540405273, + 0.4295191466808319, + 0.5784918665885925, + 0.14390483498573303, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016319638234563172, + -0.04916917160153389, + -0.07137015461921692, + 0.04252932220697403, + 0.018034672364592552, + -0.16026045382022858, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409524843096733, + 0.3724292516708374, + 0.36280497908592224, + -0.10408815741539001, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588508516550064, + -0.058648403733968735, + -0.2143373042345047, + -0.04868508502840996, + -0.10687986016273499, + -0.2270757257938385, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 29512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19152, + "contractions_per_energy": 1, + "estimated_energy_flops": 19152, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28880, + "recomputable_bytes": 28032, + "bytes_by_category": { + "primitive:dot_general": 19904, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:concatenate": 256, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 19 + ], + [ + 14, + 50 + ], + [ + 5, + 18 + ], + [ + 5, + 17 + ], + [ + 10, + 43 + ], + [ + 7, + 39 + ], + [ + 9, + 40 + ], + [ + 7, + 37 + ], + [ + 6, + 35 + ], + [ + 3, + 9 + ], + [ + 5, + 32 + ], + [ + 4, + 70 + ], + [ + 10, + 17 + ], + [ + 64, + 69 + ], + [ + 0, + 4 + ], + [ + 37, + 44 + ], + [ + 21, + 50 + ], + [ + 42, + 49 + ], + [ + 11, + 54 + ], + [ + 0, + 60 + ], + [ + 30, + 50 + ], + [ + 0, + 2 + ], + [ + 22, + 28 + ], + [ + 0, + 1 + ], + [ + 19, + 58 + ], + [ + 5, + 53 + ], + [ + 48, + 56 + ], + [ + 23, + 29 + ], + [ + 49, + 51 + ], + [ + 31, + 37 + ], + [ + 10, + 17 + ], + [ + 15, + 33 + ], + [ + 0, + 5 + ], + [ + 23, + 28 + ], + [ + 14, + 34 + ], + [ + 10, + 47 + ], + [ + 8, + 23 + ], + [ + 11, + 28 + ], + [ + 17, + 20 + ], + [ + 0, + 39 + ], + [ + 16, + 40 + ], + [ + 11, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 40 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 3, + 37 + ], + [ + 0, + 1 + ], + [ + 1, + 33 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 3, + 12 + ], + [ + 12, + 20 + ], + [ + 5, + 13 + ], + [ + 4, + 25 + ], + [ + 10, + 26 + ], + [ + 3, + 9 + ], + [ + 8, + 10 + ], + [ + 12, + 21 + ], + [ + 11, + 23 + ], + [ + 14, + 22 + ], + [ + 9, + 19 + ], + [ + 1, + 21 + ], + [ + 7, + 18 + ], + [ + 1, + 8 + ], + [ + 15, + 18 + ], + [ + 5, + 8 + ], + [ + 1, + 10 + ], + [ + 11, + 13 + ], + [ + 4, + 14 + ], + [ + 1, + 8 + ], + [ + 3, + 12 + ], + [ + 9, + 10 + ], + [ + 3, + 10 + ], + [ + 6, + 7 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.722052375000203, + "first_execute_seconds": 0.0018854170048143715, + "warm_seconds_median": 0.00037000000156695023, + "warm_seconds_mad": 1.0457995813339949e-05, + "peak_rss_bytes": 299401216, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 1.3817007522575124e-06, + "valid": true, + "failure": null, + "worker_pid": 62779, + "parent_pid": 62613, + "energy": -7.8570427894592285, + "gradient": [ + [ + [ + 0.015582248568534851, + 0.16267922520637512, + 0.4295191764831543, + 0.5784919261932373, + 0.14390484988689423, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780537828803062, + 0.0001631665218155831, + -0.04916923865675926, + -0.07137016952037811, + 0.04252941161394119, + 0.018034635111689568, + -0.160260409116745, + -0.1268349438905716 + ] + ], + [ + [ + -0.1835923194885254, + -0.02409522421658039, + 0.3724292814731598, + 0.36280494928359985, + -0.10408823192119598, + 0.41859307885169983, + 0.24043142795562744, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.0586484856903553, + -0.2143372893333435, + -0.048685114830732346, + -0.10687990486621857, + -0.22707577049732208, + -0.057777293026447296 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 29576 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19224, + "contractions_per_energy": 1, + "estimated_energy_flops": 19224, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28496, + "recomputable_bytes": 27648, + "bytes_by_category": { + "primitive:dot_general": 19488, + "jitted:_diag": 4256, + "primitive:conj": 1440, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6040759579991573, + "first_execute_seconds": 0.0016944590024650097, + "warm_seconds_median": 0.00044999999954598024, + "warm_seconds_mad": 4.458001058083028e-06, + "peak_rss_bytes": 255655936, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63139, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 640, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.2376514580028015, + "first_execute_seconds": 0.001712874996883329, + "warm_seconds_median": 0.0006360410043271258, + "warm_seconds_mad": 5.9791003877762705e-05, + "peak_rss_bytes": 258179072, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63238, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 12168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5772666670018225, + "first_execute_seconds": 0.0023260830057552084, + "warm_seconds_median": 0.0006807919999118894, + "warm_seconds_mad": 4.937599442200735e-05, + "peak_rss_bytes": 254558208, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63262, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.531367166993732, + "first_execute_seconds": 0.0016610829989076592, + "warm_seconds_median": 0.0005555829993681982, + "warm_seconds_mad": 1.3123993994668126e-05, + "peak_rss_bytes": 258539520, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63326, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 640, + "temp_size_in_bytes": 29600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 23408, + "recomputable_bytes": 23008, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1312, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8169208339968463, + "first_execute_seconds": 0.0015525839990004897, + "warm_seconds_median": 0.0004026669994345866, + "warm_seconds_mad": 2.0082996343262494e-05, + "peak_rss_bytes": 266731520, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63358, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 23408, + "recomputable_bytes": 23008, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1312, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.233922250001342, + "first_execute_seconds": 0.0014566669997293502, + "warm_seconds_median": 0.0004925419998471625, + "warm_seconds_mad": 3.283299884060398e-05, + "peak_rss_bytes": 258932736, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63379, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 12360 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1248, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 8, + 46 + ], + [ + 14, + 50 + ], + [ + 1, + 14 + ], + [ + 11, + 45 + ], + [ + 4, + 15 + ], + [ + 10, + 42 + ], + [ + 3, + 12 + ], + [ + 7, + 37 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 66 + ], + [ + 33, + 40 + ], + [ + 0, + 5 + ], + [ + 33, + 61 + ], + [ + 8, + 15 + ], + [ + 0, + 4 + ], + [ + 19, + 49 + ], + [ + 30, + 53 + ], + [ + 0, + 51 + ], + [ + 0, + 22 + ], + [ + 7, + 59 + ], + [ + 16, + 43 + ], + [ + 13, + 39 + ], + [ + 33, + 54 + ], + [ + 2, + 7 + ], + [ + 0, + 16 + ], + [ + 4, + 52 + ], + [ + 10, + 47 + ], + [ + 27, + 49 + ], + [ + 28, + 33 + ], + [ + 27, + 31 + ], + [ + 0, + 46 + ], + [ + 34, + 36 + ], + [ + 23, + 41 + ], + [ + 1, + 4 + ], + [ + 14, + 35 + ], + [ + 11, + 14 + ], + [ + 11, + 13 + ], + [ + 16, + 44 + ], + [ + 10, + 29 + ], + [ + 0, + 24 + ], + [ + 13, + 15 + ], + [ + 24, + 39 + ], + [ + 0, + 22 + ], + [ + 0, + 4 + ], + [ + 3, + 26 + ], + [ + 9, + 30 + ], + [ + 2, + 3 + ], + [ + 10, + 12 + ], + [ + 2, + 33 + ], + [ + 9, + 12 + ], + [ + 10, + 25 + ], + [ + 2, + 4 + ], + [ + 7, + 9 + ], + [ + 1, + 8 + ], + [ + 10, + 11 + ], + [ + 21, + 26 + ], + [ + 5, + 9 + ], + [ + 3, + 8 + ], + [ + 11, + 23 + ], + [ + 10, + 20 + ], + [ + 11, + 22 + ], + [ + 19, + 21 + ], + [ + 2, + 8 + ], + [ + 16, + 17 + ], + [ + 12, + 14 + ], + [ + 9, + 16 + ], + [ + 14, + 16 + ], + [ + 1, + 14 + ], + [ + 10, + 11 + ], + [ + 0, + 7 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 6, + 10 + ], + [ + 6, + 8 + ], + [ + 0, + 7 + ], + [ + 2, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.944144832996244, + "first_execute_seconds": 0.0019014159988728352, + "warm_seconds_median": 0.0003008339990628883, + "warm_seconds_mad": 1.700099528534338e-05, + "peak_rss_bytes": 279691264, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 1.4428091605773884e-06, + "valid": true, + "failure": null, + "worker_pid": 62837, + "parent_pid": 62613, + "energy": -7.857041835784912, + "gradient": [ + [ + [ + 0.015582290478050709, + 0.16267922520637512, + 0.4295191168785095, + 0.5784918665885925, + 0.1439048945903778, + 0.5593963861465454, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780537828803062, + 0.00016313680680468678, + -0.049169186502695084, + -0.07137010246515274, + 0.04252944141626358, + 0.018034664914011955, + -0.1602603644132614, + -0.1268349289894104 + ] + ], + [ + [ + -0.1835923194885254, + -0.024095188826322556, + 0.3724292516708374, + 0.36280491948127747, + -0.10408812761306763, + 0.41859301924705505, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588508516550064, + -0.0586484931409359, + -0.21433725953102112, + -0.04868512228131294, + -0.10687990486621857, + -0.2270757257938385, + -0.05777726694941521 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 28168 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 18600, + "contractions_per_energy": 1, + "estimated_energy_flops": 18600, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 26704, + "recomputable_bytes": 25856, + "bytes_by_category": { + "primitive:dot_general": 17632, + "jitted:_diag": 4256, + "primitive:conj": 1472, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 416, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 32 + ], + [ + 2, + 31 + ], + [ + 2, + 30 + ], + [ + 2, + 29 + ], + [ + 2, + 28 + ], + [ + 2, + 27 + ], + [ + 2, + 26 + ], + [ + 0, + 56 + ], + [ + 0, + 61 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 9, + 17 + ], + [ + 10, + 16 + ], + [ + 10, + 15 + ], + [ + 10, + 14 + ], + [ + 10, + 13 + ], + [ + 10, + 12 + ], + [ + 10, + 11 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 0, + 10 + ], + [ + 0, + 14 + ], + [ + 1, + 28 + ], + [ + 1, + 27 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 27 + ], + [ + 10, + 26 + ], + [ + 11, + 34 + ], + [ + 10, + 24 + ], + [ + 16, + 32 + ], + [ + 16, + 28 + ], + [ + 20, + 27 + ], + [ + 15, + 29 + ], + [ + 24, + 28 + ], + [ + 0, + 24 + ], + [ + 9, + 26 + ], + [ + 23, + 25 + ], + [ + 4, + 22 + ], + [ + 16, + 23 + ], + [ + 21, + 22 + ], + [ + 4, + 16 + ], + [ + 4, + 15 + ], + [ + 18, + 19 + ], + [ + 4, + 14 + ], + [ + 4, + 13 + ], + [ + 15, + 16 + ], + [ + 3, + 12 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 11, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.495884542004205, + "first_execute_seconds": 0.0038062500025262125, + "warm_seconds_median": 0.00039116599509725347, + "warm_seconds_mad": 4.783400800079107e-05, + "peak_rss_bytes": 283426816, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.378262265054704e-06, + "valid": true, + "failure": null, + "worker_pid": 62715, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582213178277016, + 0.16267919540405273, + 0.4295191466808319, + 0.5784918665885925, + 0.14390483498573303, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016319638234563172, + -0.04916917160153389, + -0.07137015461921692, + 0.04252932220697403, + 0.018034672364592552, + -0.16026045382022858, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409524843096733, + 0.3724292516708374, + 0.36280497908592224, + -0.10408815741539001, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588508516550064, + -0.058648403733968735, + -0.2143373042345047, + -0.04868508502840996, + -0.10687986016273499, + -0.2270757257938385, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 29512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19152, + "contractions_per_energy": 1, + "estimated_energy_flops": 19152, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28880, + "recomputable_bytes": 28032, + "bytes_by_category": { + "primitive:dot_general": 19904, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:concatenate": 256, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 19 + ], + [ + 14, + 50 + ], + [ + 5, + 18 + ], + [ + 5, + 17 + ], + [ + 10, + 43 + ], + [ + 7, + 39 + ], + [ + 9, + 40 + ], + [ + 7, + 37 + ], + [ + 6, + 35 + ], + [ + 3, + 9 + ], + [ + 5, + 32 + ], + [ + 4, + 70 + ], + [ + 10, + 17 + ], + [ + 64, + 69 + ], + [ + 0, + 4 + ], + [ + 37, + 44 + ], + [ + 21, + 50 + ], + [ + 42, + 49 + ], + [ + 11, + 54 + ], + [ + 0, + 60 + ], + [ + 30, + 50 + ], + [ + 0, + 2 + ], + [ + 22, + 28 + ], + [ + 0, + 1 + ], + [ + 19, + 58 + ], + [ + 5, + 53 + ], + [ + 48, + 56 + ], + [ + 23, + 29 + ], + [ + 49, + 51 + ], + [ + 31, + 37 + ], + [ + 10, + 17 + ], + [ + 15, + 33 + ], + [ + 0, + 5 + ], + [ + 23, + 28 + ], + [ + 14, + 34 + ], + [ + 10, + 47 + ], + [ + 8, + 23 + ], + [ + 11, + 28 + ], + [ + 17, + 20 + ], + [ + 0, + 39 + ], + [ + 16, + 40 + ], + [ + 11, + 14 + ], + [ + 13, + 14 + ], + [ + 11, + 40 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 3, + 37 + ], + [ + 0, + 1 + ], + [ + 1, + 33 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 3, + 12 + ], + [ + 12, + 20 + ], + [ + 5, + 13 + ], + [ + 4, + 25 + ], + [ + 10, + 26 + ], + [ + 3, + 9 + ], + [ + 8, + 10 + ], + [ + 12, + 21 + ], + [ + 11, + 23 + ], + [ + 14, + 22 + ], + [ + 9, + 19 + ], + [ + 1, + 21 + ], + [ + 7, + 18 + ], + [ + 1, + 8 + ], + [ + 15, + 18 + ], + [ + 5, + 8 + ], + [ + 1, + 10 + ], + [ + 11, + 13 + ], + [ + 4, + 14 + ], + [ + 1, + 8 + ], + [ + 3, + 12 + ], + [ + 9, + 10 + ], + [ + 3, + 10 + ], + [ + 6, + 7 + ], + [ + 4, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.722052375000203, + "first_execute_seconds": 0.0018854170048143715, + "warm_seconds_median": 0.00037000000156695023, + "warm_seconds_mad": 1.0457995813339949e-05, + "peak_rss_bytes": 299401216, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 1.3817007522575124e-06, + "valid": true, + "failure": null, + "worker_pid": 62779, + "parent_pid": 62613, + "energy": -7.8570427894592285, + "gradient": [ + [ + [ + 0.015582248568534851, + 0.16267922520637512, + 0.4295191764831543, + 0.5784919261932373, + 0.14390484988689423, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780537828803062, + 0.0001631665218155831, + -0.04916923865675926, + -0.07137016952037811, + 0.04252941161394119, + 0.018034635111689568, + -0.160260409116745, + -0.1268349438905716 + ] + ], + [ + [ + -0.1835923194885254, + -0.02409522421658039, + 0.3724292814731598, + 0.36280494928359985, + -0.10408823192119598, + 0.41859307885169983, + 0.24043142795562744, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.0586484856903553, + -0.2143372893333435, + -0.048685114830732346, + -0.10687990486621857, + -0.22707577049732208, + -0.057777293026447296 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 29576 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19224, + "contractions_per_energy": 1, + "estimated_energy_flops": 19224, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28496, + "recomputable_bytes": 27648, + "bytes_by_category": { + "primitive:dot_general": 19488, + "jitted:_diag": 4256, + "primitive:conj": 1440, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.2798245000012685, + "first_execute_seconds": 0.0015588329988531768, + "warm_seconds_median": 0.0005593750029220246, + "warm_seconds_mad": 3.137499879812822e-05, + "peak_rss_bytes": 259915776, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 62908, + "parent_pid": 62613, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 640, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.484870000000228, + "first_execute_seconds": 0.002029041999776382, + "warm_seconds_median": 0.0005182079985388555, + "warm_seconds_mad": 3.5998993553221226e-05, + "peak_rss_bytes": 260456448, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 62943, + "parent_pid": 62613, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.2881429589979234, + "first_execute_seconds": 0.001592375003383495, + "warm_seconds_median": 0.000541584005986806, + "warm_seconds_mad": 2.5834007828962058e-05, + "peak_rss_bytes": 259981312, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 62989, + "parent_pid": 62613, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 11656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "primitive:stack": 528, + "constant": 448, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.022484542001621, + "first_execute_seconds": 0.0018189999973401427, + "warm_seconds_median": 0.0005813339957967401, + "warm_seconds_mad": 6.31240036454983e-05, + "peak_rss_bytes": 258703360, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 63046, + "parent_pid": 62613, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 99, + "total_bytes": 5328, + "recomputable_bytes": 4736, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 896, + "primitive:stack": 528, + "constant": 448, + "primitive:conj": 240, + "primitive:concatenate": 160, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.673971292002534, + "first_execute_seconds": 0.0019079589983448386, + "warm_seconds_median": 0.0006794579967390746, + "warm_seconds_mad": 3.625000681495294e-05, + "peak_rss_bytes": 264994816, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 63108, + "parent_pid": 62613, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 712, + "temp_size_in_bytes": 19752 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 90, + "total_bytes": 3862, + "recomputable_bytes": 3590, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 896, + "primitive:stack": 384, + "primitive:conj": 240, + "primitive:concatenate": 160, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6040759579991573, + "first_execute_seconds": 0.0016944590024650097, + "warm_seconds_median": 0.00044999999954598024, + "warm_seconds_mad": 4.458001058083028e-06, + "peak_rss_bytes": 255655936, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63139, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 640, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.7610887919945526, + "first_execute_seconds": 0.004822084003535565, + "warm_seconds_median": 0.0007885419981903397, + "warm_seconds_mad": 0.0002198330039391294, + "peak_rss_bytes": 279281664, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63187, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 27232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.2376514580028015, + "first_execute_seconds": 0.001712874996883329, + "warm_seconds_median": 0.0006360410043271258, + "warm_seconds_mad": 5.9791003877762705e-05, + "peak_rss_bytes": 258179072, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63238, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 12168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5772666670018225, + "first_execute_seconds": 0.0023260830057552084, + "warm_seconds_median": 0.0006807919999118894, + "warm_seconds_mad": 4.937599442200735e-05, + "peak_rss_bytes": 254558208, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63262, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 15336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5856, + "recomputable_bytes": 5264, + "bytes_by_category": { + "primitive:scan": 2304, + "primitive:dot_general": 1984, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 240, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.955049958996824, + "first_execute_seconds": 0.0031957920000422746, + "warm_seconds_median": 0.0007355420020758174, + "warm_seconds_mad": 0.0001851250053732656, + "peak_rss_bytes": 263061504, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 63302, + "parent_pid": 62613, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 712, + "temp_size_in_bytes": 17640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4390, + "recomputable_bytes": 4118, + "bytes_by_category": { + "primitive:dot_general": 1984, + "primitive:scan": 1152, + "primitive:stack": 320, + "primitive:conj": 240, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.531367166993732, + "first_execute_seconds": 0.0016610829989076592, + "warm_seconds_median": 0.0005555829993681982, + "warm_seconds_mad": 1.3123993994668126e-05, + "peak_rss_bytes": 258539520, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63326, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 640, + "temp_size_in_bytes": 29600 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 23408, + "recomputable_bytes": 23008, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1312, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8169208339968463, + "first_execute_seconds": 0.0015525839990004897, + "warm_seconds_median": 0.0004026669994345866, + "warm_seconds_mad": 2.0082996343262494e-05, + "peak_rss_bytes": 266731520, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63358, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 660, + "temp_size_in_bytes": 32864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 131, + "total_bytes": 23408, + "recomputable_bytes": 23008, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1312, + "primitive:stack": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:conj": 240, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.233922250001342, + "first_execute_seconds": 0.0014566669997293502, + "warm_seconds_median": 0.0004925419998471625, + "warm_seconds_mad": 3.283299884060398e-05, + "peak_rss_bytes": 258932736, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63379, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 684, + "temp_size_in_bytes": 12360 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1248, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.714151167005184, + "first_execute_seconds": 0.001839917000324931, + "warm_seconds_median": 0.00060404200485209, + "warm_seconds_mad": 6.187600229168311e-05, + "peak_rss_bytes": 266371072, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63410, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 708, + "temp_size_in_bytes": 16616 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "remat", + "unroll": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 98, + "total_bytes": 5472, + "recomputable_bytes": 4880, + "bytes_by_category": { + "primitive:scan": 2688, + "primitive:dot_general": 1248, + "primitive:stack": 464, + "constant": 448, + "primitive:conj": 176, + "literal": 144, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 2, + 7 + ], + [ + 7, + 8 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 4, + 6 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1273874170001363, + "first_execute_seconds": 0.0021543329930864275, + "warm_seconds_median": 0.0006007080010022037, + "warm_seconds_mad": 3.083300543949008e-05, + "peak_rss_bytes": 269828096, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4811984703268747e-06, + "valid": true, + "failure": null, + "worker_pid": 63438, + "parent_pid": 62613, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267916560173035, + 0.42951899766921997, + 0.5784918069839478, + 0.1439048945903778, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016318177222274244, + -0.04916912689805031, + -0.07137016952037811, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603793144226, + -0.126834899187088 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095211178064346, + 0.37242913246154785, + 0.36280494928359985, + -0.10408812016248703, + 0.4185929000377655, + 0.24043141305446625, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588503301143646, + -0.058648403733968735, + -0.21433725953102112, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757257938385, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 712, + "temp_size_in_bytes": 19688 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "segmented", + "unroll": 1, + "segment_length": 2, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "bulk_columns": 6, + "first_path_flops": 496, + "bulk_path_flops": 3104, + "last_path_flops": 528, + "estimated_energy_flops": 19648, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "residual_profile": { + "residual_count": 89, + "total_bytes": 4006, + "recomputable_bytes": 3734, + "bytes_by_category": { + "primitive:scan": 1536, + "primitive:dot_general": 1248, + "primitive:stack": 320, + "primitive:conj": 176, + "primitive:reshape": 150, + "literal": 144, + "constant": 128, + "primitive:convert_element_type": 128, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 3.2632335830057855, + "first_execute_seconds": 0.010215542002697475, + "warm_seconds_median": 0.00035554200439946726, + "warm_seconds_mad": 3.029200161108747e-05, + "peak_rss_bytes": 252690432, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 62642, + "parent_pid": 62613, + "energy": -7.857045650482178, + "gradient": [ + [ + [ + 0.015582224354147911, + 0.16267919540405273, + 0.4295193552970886, + 0.5784921646118164, + 0.14390496909618378, + 0.5593967437744141, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780269607901573, + 0.0001632701460039243, + -0.049169089645147324, + -0.07136998325586319, + 0.042529381811618805, + 0.018034717068076134, + -0.1602606475353241, + -0.12683428823947906 + ] + ], + [ + [ + -0.18359225988388062, + -0.024095401167869568, + 0.3724295198917389, + 0.36280566453933716, + -0.10408809781074524, + 0.41859304904937744, + 0.24043166637420654, + 0.0 + ], + [ + 0.04162909463047981, + 0.08588515222072601, + -0.058648478239774704, + -0.21433764696121216, + -0.04868509992957115, + -0.10688084363937378, + -0.22707657516002655, + -0.05777782201766968 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 376, + "temp_size_in_bytes": 149896 + }, + "static_estimate": { + "parameter_count": 30, + "state_bytes": 2048, + "saved_boundary_upper_bound_bytes": 6144, + "estimated_forward_gate_applications": 30, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-findings.md new file mode 100644 index 000000000..bf69d159b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-findings.md @@ -0,0 +1,143 @@ +# VQETape Exact Z2 Symmetry-Compression Findings + +## Method + +The TFIM Hamiltonian, the RZZ–RX ansatz, and the configured +\(|+\rangle^{\otimes n}\) state commute with global +\(X^{\otimes n}\). VQETape assigns charges + +\[ +q_{\mathrm{RZZ}}=(0,1),\qquad q_{\mathrm{MPO}}=(0,1,0) +\] + +to each ket/bras operator-Schmidt leg and TFIM MPO channel. A spatial +boundary entry is active only when the XOR of all circuit-leg charges and +the MPO charge is zero. This removes exactly half of the exact boundary: + +\[ +D=3\cdot4^L +\quad\longrightarrow\quad +D_{\mathbb Z_2}=\frac{3\cdot4^L}{2}. +\] + +Three fixed-path execution modes were compared: + +- `none`: ordinary dense spatial carry; +- `z2-reference`: compressed scan carry with explicit dense + expand/contract/gather inside each role; +- `z2-native`: BCOO sparse input carry plus a sparse one-hot output selector, + directly producing canonical compressed data without reconstructing the + dense carry via scatter or `todense`. + +The native executor was validated role by role, including VJPs, then through +complete VQE gradients for depths one and two, block widths one through four, +default/remat/segmented adjoints, and both complex dtypes. + +Each audited report uses depth two, `complex64`, five synchronized warm +repeats, a 2 GiB selection budget, and a 100-call horizon. For every path +strategy, block width, and chosen unroll, dense/reference/native use the same +serialized spatial path. + +## Correctness + +At eight qubits, all 63 spatial candidates were valid: 21 candidates in each +symmetry mode. + +At twelve qubits, 70 of 72 candidates were valid. Two `greedy`, width-one +native candidates produced an energy error of \(1.0490\times10^{-5}\), just +above the \(10^{-5}\) `complex64` threshold, and were filtered. Their gradient +error remained \(4.05\times10^{-6}\). The other 22 native candidates were +valid. + +| workload | mode | valid | max energy error | max relative gradient error | +|---|---|---:|---:|---:| +| \(n=8,L=2\) | dense | 21 | \(8.58\times10^{-6}\) | \(1.61\times10^{-6}\) | +| | reference | 21 | \(8.58\times10^{-6}\) | \(1.61\times10^{-6}\) | +| | native | 21 | \(7.15\times10^{-6}\) | \(1.62\times10^{-6}\) | +| \(n=12,L=2\) | dense | 24 | \(9.54\times10^{-6}\) | \(4.46\times10^{-6}\) | +| | reference | 24 | \(9.54\times10^{-6}\) | \(4.47\times10^{-6}\) | +| | native | 22 | \(8.58\times10^{-6}\) | \(4.59\times10^{-6}\) | + +Every compressed candidate reports recurrent dimension 24 rather than the +dense dimension 48 at depth two. The active positions are deterministic, +disjoint from the forbidden positions, and exhaustive with them. Dense +recurrence tests confirm the forbidden norm remains zero after first and +every bulk transition. + +## Fixed-triple measurements + +Ratios are relative to the identical dense path. A value below one favors +the symmetry mode. + +### Eight qubits: 21 complete triples + +| mode | compile median | warm median | compiler-temp median | logical-tape median | paired compile/warm/temp dominance | +|---|---:|---:|---:|---:|---:| +| reference | 0.951 | 1.102 | 1.037 | 1.067 | 1 | +| native | 1.051 | 1.006 | 1.126 | 1.202 | 0 | + +Native beat dense warm time in 10 of 21 pairs, but beat compiler temporary +memory in only two. Reference rebuilt the dense carry in each role, so its +slightly larger tape/temp is expected and is not a native-memory claim. + +### Twelve qubits: 22 complete triples + +| mode | compile median | warm median | compiler-temp median | logical-tape median | paired compile/warm/temp dominance | +|---|---:|---:|---:|---:|---:| +| reference | 1.044 | 1.112 | 1.030 | 1.044 | 1 | +| native | 1.049 | 0.999 | 1.102 | 1.146 | 4 | + +Native beat dense warm time in 11 of 22 complete pairs and compiler temporary +memory in five. The exact recurrent state is half-sized, but BCOO coordinate +metadata, sparse selectors, and their reverse rules commonly offset that +storage benefit in JAX's small CPU executables. + +This distinction is essential: + +- recurrent carry and modeled checkpoint bytes are mathematically halved; +- logical JAX tape is an implementation property and increased in the + median; +- compiler temporary memory is measured separately and also increased in the + median. + +## Pareto and horizon results + +Using compile, warm, and compiler temporary bytes: + +| workload | spatial frontier size | dense | reference | native | +|---|---:|---:|---:|---:| +| \(n=8,L=2\) | 10 | 6 | 2 | 2 | +| \(n=12,L=2\) | 5 | 3 | 1 | 1 | + +Native therefore passes the nondominance gate on both workloads. The fastest +native kernels were: + +| workload | native program | compile | warm | compiler temp | logical tape | +|---|---|---:|---:|---:|---:| +| \(n=8,L=2\) | random-greedy, b3, u2 | 2.163 s | 0.284 ms | 33,088 B | 30,608 B | +| \(n=12,L=2\) | auto-hq, b3, u3 | 4.193 s | 0.486 ms | 43,800 B | 41,984 B | + +The 100-call selections remained dense because native compile cost outweighed +its best warm results: + +| workload | selected dense program | compile | warm | 100-call objective | +|---|---|---:|---:|---:| +| \(n=8,L=2\) | random-greedy, b1, u1 | 0.979 s | 0.426 ms | 1.021 s | +| \(n=12,L=2\) | auto-hq, b1, u1 | 0.905 s | 0.489 ms | 0.954 s | + +## Decision + +1. The exact \(\mathbb Z_2\) sector analysis and compressed recurrent carry + are promoted as verified compiler capabilities. +2. `z2-reference` remains an oracle and must not be described as a native + workspace-memory optimization. +3. `z2-native` is retained as an optional search candidate. It is valid, + directly consumes/emits compressed data, and is nondominated on both + workloads, but it is not the default because median compiler temp and tape + increased. +4. The result does not justify a general sparse-tensor claim. It applies to + the supported global-\(X\) sector; `initial_state="zero"` and unsupported + tensor charge patterns are rejected. +5. The next stage should optimize end-to-solution VQE behavior. Symmetry mode + remains part of program selection so a longer optimization horizon can + amortize native compilation where its warm kernel wins. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-report-n12-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-report-n12-d2.json new file mode 100644 index 000000000..1c3dbc51d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-report-n12-d2.json @@ -0,0 +1,52603 @@ +{ + "request": { + "spec": { + "nqubits": 12, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9052437499994994, + "first_execute_seconds": 0.0015574579992971849, + "warm_seconds_median": 0.0004893749974144157, + "warm_seconds_mad": 3.3330034057144076e-06, + "peak_rss_bytes": 290537472, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 46224, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 2, + 25 + ], + [ + 20, + 76 + ], + [ + 21, + 76 + ], + [ + 8, + 28 + ], + [ + 3, + 22 + ], + [ + 2, + 20 + ], + [ + 5, + 22 + ], + [ + 8, + 58 + ], + [ + 12, + 61 + ], + [ + 3, + 17 + ], + [ + 13, + 60 + ], + [ + 10, + 56 + ], + [ + 8, + 53 + ], + [ + 9, + 53 + ], + [ + 4, + 13 + ], + [ + 0, + 9 + ], + [ + 0, + 111 + ], + [ + 2, + 9 + ], + [ + 1, + 7 + ], + [ + 2, + 41 + ], + [ + 3, + 41 + ], + [ + 2, + 39 + ], + [ + 42, + 53 + ], + [ + 0, + 2 + ], + [ + 36, + 88 + ], + [ + 54, + 65 + ], + [ + 65, + 77 + ], + [ + 0, + 98 + ], + [ + 41, + 51 + ], + [ + 34, + 96 + ], + [ + 33, + 71 + ], + [ + 51, + 61 + ], + [ + 4, + 89 + ], + [ + 51, + 60 + ], + [ + 10, + 21 + ], + [ + 38, + 65 + ], + [ + 33, + 41 + ], + [ + 35, + 68 + ], + [ + 48, + 80 + ], + [ + 2, + 62 + ], + [ + 28, + 56 + ], + [ + 30, + 36 + ], + [ + 24, + 49 + ], + [ + 40, + 78 + ], + [ + 40, + 82 + ], + [ + 28, + 57 + ], + [ + 1, + 9 + ], + [ + 4, + 50 + ], + [ + 6, + 55 + ], + [ + 35, + 41 + ], + [ + 26, + 57 + ], + [ + 13, + 22 + ], + [ + 22, + 46 + ], + [ + 30, + 64 + ], + [ + 5, + 71 + ], + [ + 11, + 19 + ], + [ + 12, + 63 + ], + [ + 17, + 19 + ], + [ + 4, + 67 + ], + [ + 22, + 67 + ], + [ + 20, + 22 + ], + [ + 15, + 58 + ], + [ + 20, + 42 + ], + [ + 13, + 43 + ], + [ + 2, + 7 + ], + [ + 12, + 33 + ], + [ + 4, + 10 + ], + [ + 32, + 53 + ], + [ + 29, + 59 + ], + [ + 9, + 55 + ], + [ + 3, + 8 + ], + [ + 2, + 25 + ], + [ + 21, + 24 + ], + [ + 0, + 42 + ], + [ + 0, + 17 + ], + [ + 19, + 51 + ], + [ + 13, + 51 + ], + [ + 16, + 21 + ], + [ + 14, + 16 + ], + [ + 13, + 38 + ], + [ + 18, + 19 + ], + [ + 24, + 39 + ], + [ + 23, + 35 + ], + [ + 8, + 16 + ], + [ + 17, + 35 + ], + [ + 4, + 40 + ], + [ + 39, + 41 + ], + [ + 11, + 21 + ], + [ + 12, + 25 + ], + [ + 3, + 17 + ], + [ + 11, + 36 + ], + [ + 5, + 36 + ], + [ + 23, + 25 + ], + [ + 29, + 34 + ], + [ + 21, + 33 + ], + [ + 30, + 31 + ], + [ + 3, + 12 + ], + [ + 10, + 29 + ], + [ + 11, + 29 + ], + [ + 22, + 28 + ], + [ + 3, + 21 + ], + [ + 13, + 25 + ], + [ + 10, + 16 + ], + [ + 19, + 21 + ], + [ + 0, + 14 + ], + [ + 7, + 18 + ], + [ + 8, + 9 + ], + [ + 5, + 15 + ], + [ + 10, + 18 + ], + [ + 17, + 18 + ], + [ + 9, + 15 + ], + [ + 1, + 9 + ], + [ + 3, + 13 + ], + [ + 11, + 14 + ], + [ + 3, + 9 + ], + [ + 0, + 10 + ], + [ + 3, + 9 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 5, + 8 + ], + [ + 1, + 7 + ], + [ + 4, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.535976874998596, + "first_execute_seconds": 0.0019990830005554017, + "warm_seconds_median": 0.00045020900142844766, + "warm_seconds_mad": 2.6251000235788524e-05, + "peak_rss_bytes": 383008768, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.150404855663761e-06, + "valid": true, + "failure": null, + "worker_pid": 45882, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258734822273254, + 0.072930246591568, + -0.04737114906311035, + -0.05892017483711243, + -0.13894060254096985, + -0.17407840490341187, + -0.2856508493423462, + -0.04443160444498062, + -0.2880015969276428, + -0.3262191414833069, + -0.38710981607437134, + 0.0 + ], + [ + -0.011313189752399921, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603391289711, + 0.043196745216846466, + 0.019278641790151596, + -0.15224723517894745, + -0.20906436443328857, + -0.02294294722378254, + 0.19368678331375122, + 0.18352189660072327, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825275957584381, + -0.07275570183992386, + -0.24816812574863434, + -0.18776383996009827, + -0.2248370498418808, + -0.16548442840576172, + -0.15414518117904663, + 0.0424068421125412, + -0.16628676652908325, + -0.25748711824417114, + -0.4156584143638611, + 0.0 + ], + [ + -0.101773701608181, + -0.09800741076469421, + 0.012208248488605022, + 0.0899810865521431, + 0.17996226251125336, + 0.04348640888929367, + -0.07909026741981506, + -0.09540713578462601, + 0.01369452103972435, + 0.15580448508262634, + 0.10954702645540237, + 0.03910834342241287 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 44872 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34592, + "contractions_per_energy": 1, + "estimated_energy_flops": 34592, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 43600, + "recomputable_bytes": 42304, + "bytes_by_category": { + "primitive:dot_general": 29728, + "jitted:_diag": 6688, + "primitive:conj": 2240, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 672, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9052437499994994, + "first_execute_seconds": 0.0015574579992971849, + "warm_seconds_median": 0.0004893749974144157, + "warm_seconds_mad": 3.3330034057144076e-06, + "peak_rss_bytes": 290537472, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 46224, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4650403750019905, + "first_execute_seconds": 0.003823625000222819, + "warm_seconds_median": 0.000758250000217231, + "warm_seconds_mad": 1.7292000848101452e-05, + "peak_rss_bytes": 273661952, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 46350, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 54560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6848646250000456, + "first_execute_seconds": 0.004562083999189781, + "warm_seconds_median": 0.0006060840023565106, + "warm_seconds_mad": 6.233400199562311e-05, + "peak_rss_bytes": 279363584, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.956495875004255e-06, + "valid": true, + "failure": null, + "worker_pid": 47480, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920226991176605, + -0.13894067704677582, + -0.17407840490341187, + -0.2856511175632477, + -0.0444316640496254, + -0.2880018949508667, + -0.3262193202972412, + -0.3871102035045624, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172714626416564, + -0.05270257964730263, + -0.0764603540301323, + 0.04319664090871811, + 0.019278686493635178, + -0.15224727988243103, + -0.2090645134449005, + -0.022942891344428062, + 0.19368693232536316, + 0.1835220903158188, + 0.0592220202088356 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816834926605225, + -0.18776395916938782, + -0.22483724355697632, + -0.16548453271389008, + -0.1541452258825302, + 0.04240697994828224, + -0.16628681123256683, + -0.25748729705810547, + -0.4156586527824402, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800738096237183, + 0.012208279222249985, + 0.08998105674982071, + 0.17996220290660858, + 0.04348650202155113, + -0.07909038662910461, + -0.09540725499391556, + 0.013694468885660172, + 0.15580454468727112, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3777, + "temp_size_in_bytes": 50880 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 39776, + "recomputable_bytes": 35152, + "bytes_by_category": { + "primitive:scan": 28416, + "constant": 4384, + "primitive:dot_general": 3136, + "primitive:stack": 768, + "primitive:convert_element_type": 640, + "primitive:conj": 592, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 240, + "primitive:concatenate": 224, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.192618749999383, + "first_execute_seconds": 0.0021815420004713815, + "warm_seconds_median": 0.00048608300130581483, + "warm_seconds_mad": 1.133399928221479e-05, + "peak_rss_bytes": 336609280, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.905634591694055e-06, + "valid": true, + "failure": null, + "worker_pid": 47768, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293020188808441, + -0.04737109690904617, + -0.05892018973827362, + -0.1389407217502594, + -0.17407840490341187, + -0.28565099835395813, + -0.0444316640496254, + -0.28800174593925476, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313430964946747, + 0.001817301264964044, + -0.052702609449625015, + -0.07646036893129349, + 0.04319680482149124, + 0.019278768450021744, + -0.1522473394870758, + -0.20906466245651245, + -0.022942867130041122, + 0.19368696212768555, + 0.1835220605134964, + 0.05922193080186844 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275579124689102, + -0.248168483376503, + -0.187763974070549, + -0.22483724355697632, + -0.1654844880104065, + -0.1541452705860138, + 0.04240686446428299, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800738096237183, + 0.01220821961760521, + 0.08998117595911026, + 0.17996223270893097, + 0.04348641261458397, + -0.07909032702445984, + -0.09540721029043198, + 0.01369444653391838, + 0.1558046042919159, + 0.1095472052693367, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2240, + "temp_size_in_bytes": 43800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 41984, + "recomputable_bytes": 37360, + "bytes_by_category": { + "primitive:scan": 30624, + "constant": 4384, + "primitive:dot_general": 3136, + "primitive:stack": 768, + "primitive:convert_element_type": 640, + "primitive:conj": 592, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 240, + "primitive:concatenate": 224, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.588315375000093, + "first_execute_seconds": 0.006132834001618903, + "warm_seconds_median": 0.0006379170008585788, + "warm_seconds_mad": 4.962499951943755e-05, + "peak_rss_bytes": 257425408, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 3.988084194414685e-06, + "valid": true, + "failure": null, + "worker_pid": 47901, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293029129505157, + -0.04737120121717453, + -0.058920279145240784, + -0.13894066214561462, + -0.17407844960689545, + -0.28565096855163574, + -0.04443163424730301, + -0.28800168633461, + -0.3262192904949188, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313313618302345, + 0.001817308715544641, + -0.052702490240335464, + -0.0764603540301323, + 0.04319678992033005, + 0.019278760999441147, + -0.1522473692893982, + -0.20906442403793335, + -0.022942880168557167, + 0.19368693232536316, + 0.18352200090885162, + 0.059221960604190826 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275564968585968, + -0.24816840887069702, + -0.187763974070549, + -0.22483718395233154, + -0.16548442840576172, + -0.15414507687091827, + 0.04240685701370239, + -0.16628682613372803, + -0.2574871778488159, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800735861063004, + 0.012208234518766403, + 0.08998114615678787, + 0.17996220290660858, + 0.043486472219228745, + -0.07909032702445984, + -0.09540722519159317, + 0.013694565743207932, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 43800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 41480, + "recomputable_bytes": 40600, + "bytes_by_category": { + "primitive:scan": 30816, + "primitive:dot_general": 3712, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:reshape": 768, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6091157080008998, + "first_execute_seconds": 0.0020868339997832663, + "warm_seconds_median": 0.0006842080001661088, + "warm_seconds_mad": 1.162499756901525e-05, + "peak_rss_bytes": 279347200, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.049610291226778e-06, + "valid": true, + "failure": null, + "worker_pid": 48914, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737115651369095, + -0.0589202456176281, + -0.13894060254096985, + -0.1740783452987671, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172416603192687, + -0.05270252004265785, + -0.07646038383245468, + 0.043196775019168854, + 0.019278790801763535, + -0.15224730968475342, + -0.20906421542167664, + -0.02294287458062172, + 0.193686842918396, + 0.1835220456123352, + 0.0592220202088356 + ] + ], + [ + [ + 0.282527893781662, + -0.07275576144456863, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548439860343933, + -0.1541452407836914, + 0.042406827211380005, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800739586353302, + 0.012208249419927597, + 0.08998111635446548, + 0.1799624115228653, + 0.04348653182387352, + -0.07909047603607178, + -0.09540704637765884, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1081, + "temp_size_in_bytes": 34800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 30368, + "recomputable_bytes": 29968, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.108238917000563, + "first_execute_seconds": 0.0043071670006611384, + "warm_seconds_median": 0.0012355830003798474, + "warm_seconds_mad": 0.0001098749999073334, + "peak_rss_bytes": 225787904, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 49468, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43984 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1913047499983804, + "first_execute_seconds": 0.005539542002225062, + "warm_seconds_median": 0.0010048749973066151, + "warm_seconds_mad": 6.200000279932283e-05, + "peak_rss_bytes": 269729792, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.8995358848408105e-06, + "valid": true, + "failure": null, + "worker_pid": 50029, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738398551941, + 0.07293029874563217, + -0.04737115651369095, + -0.05892015993595123, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018651485443, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.052702490240335464, + -0.07646036893129349, + 0.04319671541452408, + 0.019278790801763535, + -0.15224726498126984, + -0.2090645134449005, + -0.022942764684557915, + 0.19368702173233032, + 0.18352217972278595, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.24816854298114777, + -0.1877639889717102, + -0.22483724355697632, + -0.16548432409763336, + -0.15414510667324066, + 0.04240680858492851, + -0.16628700494766235, + -0.257487416267395, + -0.41565871238708496, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800740331411362, + 0.012208204716444016, + 0.08998114615678787, + 0.1799623817205429, + 0.043486591428518295, + -0.07909026741981506, + -0.09540725499391556, + 0.01369454339146614, + 0.15580478310585022, + 0.10954717546701431, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 73336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 49400, + "recomputable_bytes": 48520, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.611013207999349, + "first_execute_seconds": 0.0044230829989828635, + "warm_seconds_median": 0.0006842500006314367, + "warm_seconds_mad": 0.00010616699728416279, + "peak_rss_bytes": 242728960, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.8721687697471056e-06, + "valid": true, + "failure": null, + "worker_pid": 50218, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293030619621277, + -0.047371141612529755, + -0.058920178562402725, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.044431574642658234, + -0.2880018353462219, + -0.32621946930885315, + -0.38711023330688477, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172714626416564, + -0.052702490240335464, + -0.07646030932664871, + 0.04319673031568527, + 0.019278768450021744, + -0.15224725008010864, + -0.20906463265419006, + -0.022942829877138138, + 0.19368696212768555, + 0.18352219462394714, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275581359863281, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548436880111694, + -0.15414509177207947, + 0.042406823486089706, + -0.16628704965114594, + -0.25748732686042786, + -0.41565877199172974, + 0.0 + ], + [ + -0.10177416354417801, + -0.09800739586353302, + 0.01220821961760521, + 0.08998117595911026, + 0.1799623817205429, + 0.043486591428518295, + -0.0790901780128479, + -0.09540729969739914, + 0.013694476336240768, + 0.15580475330352783, + 0.10954717546701431, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3392, + "temp_size_in_bytes": 92248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 62416, + "recomputable_bytes": 57792, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:transpose": 11520, + "primitive:dot_general": 5568, + "constant": 4384, + "primitive:stack": 704, + "primitive:conj": 688, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.257271457998286, + "first_execute_seconds": 0.0032438329981232528, + "warm_seconds_median": 0.0008010839992493857, + "warm_seconds_mad": 9.275099728256464e-05, + "peak_rss_bytes": 238485504, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.8995358848408105e-06, + "valid": true, + "failure": null, + "worker_pid": 50335, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738398551941, + 0.07293029874563217, + -0.04737115651369095, + -0.05892015993595123, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018651485443, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.052702490240335464, + -0.07646036893129349, + 0.04319671541452408, + 0.019278790801763535, + -0.15224726498126984, + -0.2090645134449005, + -0.022942764684557915, + 0.19368702173233032, + 0.18352217972278595, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.24816854298114777, + -0.1877639889717102, + -0.22483724355697632, + -0.16548432409763336, + -0.15414510667324066, + 0.04240680858492851, + -0.16628700494766235, + -0.257487416267395, + -0.41565871238708496, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800740331411362, + 0.012208204716444016, + 0.08998114615678787, + 0.1799623817205429, + 0.043486591428518295, + -0.07909026741981506, + -0.09540725499391556, + 0.01369454339146614, + 0.15580478310585022, + 0.10954717546701431, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 59736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 49400, + "recomputable_bytes": 48520, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.232592374999513, + "first_execute_seconds": 0.007201332999102306, + "warm_seconds_median": 0.0012802919991372619, + "warm_seconds_mad": 8.075100049609318e-05, + "peak_rss_bytes": 256360448, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.474638477340661e-06, + "valid": true, + "failure": null, + "worker_pid": 50606, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293020188808441, + -0.047371067106723785, + -0.05892015993595123, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431399554014206, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313127353787422, + 0.0018172640120610595, + -0.052702758461236954, + -0.0764605924487114, + 0.04319649189710617, + 0.019278932362794876, + -0.15224705636501312, + -0.20906421542167664, + -0.022942673414945602, + 0.19368669390678406, + 0.18352197110652924, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275567203760147, + -0.24816815555095673, + -0.18776394426822662, + -0.22483697533607483, + -0.16548433899879456, + -0.15414510667324066, + 0.04240711033344269, + -0.1662866473197937, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177373141050339, + -0.09800752997398376, + 0.012208367697894573, + 0.08998120576143265, + 0.1799621731042862, + 0.04348655790090561, + -0.07909008860588074, + -0.09540700167417526, + 0.013694670051336288, + 0.1558043658733368, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1109, + "temp_size_in_bytes": 113720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 67352, + "recomputable_bytes": 66120, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.233333249998395, + "first_execute_seconds": 0.004656458997487789, + "warm_seconds_median": 0.0010122919993591495, + "warm_seconds_mad": 0.00014983299843152054, + "peak_rss_bytes": 232669184, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 50712, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 95320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.939426875000208, + "first_execute_seconds": 0.0035826669991365634, + "warm_seconds_median": 0.0006142919992271345, + "warm_seconds_mad": 1.8292001186637208e-05, + "peak_rss_bytes": 261799936, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.585592338904985e-06, + "valid": true, + "failure": null, + "worker_pid": 50798, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293020188808441, + -0.047371067106723785, + -0.05892015993595123, + -0.13894054293632507, + -0.1740783154964447, + -0.2856507897377014, + -0.04443133994936943, + -0.28800147771835327, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313483119010925, + 0.0018172640120610595, + -0.052702758461236954, + -0.0764605924487114, + 0.04319649189710617, + 0.019278954714536667, + -0.15224702656269073, + -0.20906415581703186, + -0.02294270321726799, + 0.19368663430213928, + 0.18352185189723969, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252753615379333, + -0.07275567203760147, + -0.24816815555095673, + -0.18776394426822662, + -0.22483697533607483, + -0.16548436880111694, + -0.15414510667324066, + 0.04240717738866806, + -0.1662866473197937, + -0.25748714804649353, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177410393953323, + -0.09800752997398376, + 0.012208367697894573, + 0.08998120576143265, + 0.1799621731042862, + 0.043486587703228, + -0.07909002900123596, + -0.09540694206953049, + 0.013694625347852707, + 0.1558043658733368, + 0.10954690724611282, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2816, + "temp_size_in_bytes": 92032 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 74992, + "recomputable_bytes": 70016, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11968, + "primitive:transpose": 5376, + "constant": 4640, + "primitive:conj": 1008, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9985926669978653, + "first_execute_seconds": 0.0017953749993466772, + "warm_seconds_median": 0.0006359580002026632, + "warm_seconds_mad": 3.766699956031516e-05, + "peak_rss_bytes": 280723456, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.791845650950816e-06, + "valid": true, + "failure": null, + "worker_pid": 51012, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.138940691947937, + -0.17407843470573425, + -0.28565114736557007, + -0.0444316640496254, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.011313255876302719, + 0.0018172491108998656, + -0.05270257964730263, + -0.07646044343709946, + 0.04319678992033005, + 0.01927873119711876, + -0.15224741399288177, + -0.20906463265419006, + -0.022942902520298958, + 0.19368687272071838, + 0.18352213501930237, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275577634572983, + -0.248168483376503, + -0.18776395916938782, + -0.2248372584581375, + -0.16548451781272888, + -0.15414544939994812, + 0.04240685701370239, + -0.166286900639534, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177401453256607, + -0.0980074554681778, + 0.012208323925733566, + 0.08998120576143265, + 0.1799623817205429, + 0.04348641261458397, + -0.07909032702445984, + -0.09540713578462601, + 0.013694453984498978, + 0.1558045744895935, + 0.10954708606004715, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1089, + "temp_size_in_bytes": 43448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 144, + "total_bytes": 37840, + "recomputable_bytes": 37440, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 1248, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:conj": 400, + "primitive:reshape": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.877633374999277, + "first_execute_seconds": 0.0037459580016729888, + "warm_seconds_median": 0.0006891669981996529, + "warm_seconds_mad": 4.462599827093072e-05, + "peak_rss_bytes": 230883328, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.007407456905934e-06, + "valid": true, + "failure": null, + "worker_pid": 51325, + "parent_pid": 45668, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737120121717453, + -0.05892028287053108, + -0.13894063234329224, + -0.17407839000225067, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313253082334995, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646041363477707, + 0.04319683462381363, + 0.01927870884537697, + -0.15224720537662506, + -0.20906448364257812, + -0.02294287644326687, + 0.19368690252304077, + 0.1835220456123352, + 0.05922194570302963 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275569438934326, + -0.24816837906837463, + -0.18776395916938782, + -0.22483715415000916, + -0.1654844582080841, + -0.15414518117904663, + 0.04240688681602478, + -0.16628681123256683, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800738096237183, + 0.012208322994410992, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909032702445984, + -0.09540718048810959, + 0.013694483786821365, + 0.15580451488494873, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 47368 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 177, + "total_bytes": 39376, + "recomputable_bytes": 38848, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1344, + "primitive:stack": 512, + "constant": 384, + "primitive:conj": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.220158166001056, + "first_execute_seconds": 0.014152499999909196, + "warm_seconds_median": 0.0007920419993752148, + "warm_seconds_mad": 4.245899981469847e-05, + "peak_rss_bytes": 272203776, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.235166221345097e-06, + "valid": true, + "failure": null, + "worker_pid": 51828, + "parent_pid": 45668, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293018698692322, + -0.04737117141485214, + -0.058920152485370636, + -0.13894060254096985, + -0.1740783303976059, + -0.2856508195400238, + -0.04443163797259331, + -0.28800153732299805, + -0.32621902227401733, + -0.3871099054813385, + 0.0 + ], + [ + -0.011313427239656448, + 0.0018172938143834472, + -0.05270246043801308, + -0.07646039873361588, + 0.04319673031568527, + 0.01927873119711876, + -0.15224720537662506, + -0.20906424522399902, + -0.022942829877138138, + 0.19368678331375122, + 0.18352195620536804, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275567948818207, + -0.24816831946372986, + -0.18776381015777588, + -0.22483697533607483, + -0.16548436880111694, + -0.15414516627788544, + 0.04240685701370239, + -0.16628676652908325, + -0.25748708844184875, + -0.41565829515457153, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.01220827829092741, + 0.08998111635446548, + 0.17996211349964142, + 0.04348655790090561, + -0.07909023761749268, + -0.09540725499391556, + 0.013694394379854202, + 0.15580445528030396, + 0.10954699665307999, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4449, + "temp_size_in_bytes": 69632 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 289, + "total_bytes": 50768, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 38208, + "constant": 4384, + "primitive:dot_general": 3872, + "primitive:transpose": 1152, + "primitive:convert_element_type": 640, + "primitive:stack": 640, + "primitive:conj": 592, + "primitive:scatter": 576, + "literal": 240, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 23, + 80 + ], + [ + 20, + 76 + ], + [ + 6, + 27 + ], + [ + 13, + 67 + ], + [ + 8, + 27 + ], + [ + 7, + 25 + ], + [ + 6, + 23 + ], + [ + 5, + 21 + ], + [ + 0, + 16 + ], + [ + 5, + 19 + ], + [ + 3, + 16 + ], + [ + 9, + 55 + ], + [ + 2, + 13 + ], + [ + 2, + 12 + ], + [ + 1, + 10 + ], + [ + 4, + 46 + ], + [ + 5, + 46 + ], + [ + 1, + 42 + ], + [ + 4, + 43 + ], + [ + 0, + 98 + ], + [ + 13, + 24 + ], + [ + 26, + 76 + ], + [ + 3, + 38 + ], + [ + 0, + 99 + ], + [ + 1, + 35 + ], + [ + 5, + 15 + ], + [ + 0, + 31 + ], + [ + 28, + 74 + ], + [ + 2, + 85 + ], + [ + 9, + 18 + ], + [ + 27, + 74 + ], + [ + 28, + 82 + ], + [ + 2, + 77 + ], + [ + 12, + 20 + ], + [ + 43, + 54 + ], + [ + 20, + 78 + ], + [ + 28, + 75 + ], + [ + 4, + 87 + ], + [ + 40, + 51 + ], + [ + 13, + 20 + ], + [ + 2, + 59 + ], + [ + 30, + 39 + ], + [ + 23, + 55 + ], + [ + 39, + 48 + ], + [ + 13, + 66 + ], + [ + 35, + 42 + ], + [ + 12, + 81 + ], + [ + 39, + 46 + ], + [ + 11, + 15 + ], + [ + 4, + 78 + ], + [ + 55, + 61 + ], + [ + 16, + 24 + ], + [ + 48, + 50 + ], + [ + 27, + 33 + ], + [ + 18, + 38 + ], + [ + 0, + 51 + ], + [ + 26, + 67 + ], + [ + 14, + 58 + ], + [ + 13, + 45 + ], + [ + 25, + 30 + ], + [ + 8, + 11 + ], + [ + 2, + 29 + ], + [ + 9, + 55 + ], + [ + 9, + 33 + ], + [ + 19, + 23 + ], + [ + 0, + 50 + ], + [ + 18, + 21 + ], + [ + 49, + 59 + ], + [ + 0, + 5 + ], + [ + 8, + 53 + ], + [ + 14, + 24 + ], + [ + 5, + 51 + ], + [ + 5, + 12 + ], + [ + 5, + 26 + ], + [ + 17, + 20 + ], + [ + 0, + 27 + ], + [ + 2, + 3 + ], + [ + 11, + 24 + ], + [ + 16, + 18 + ], + [ + 15, + 25 + ], + [ + 15, + 29 + ], + [ + 41, + 45 + ], + [ + 19, + 31 + ], + [ + 37, + 43 + ], + [ + 12, + 13 + ], + [ + 16, + 32 + ], + [ + 10, + 26 + ], + [ + 11, + 13 + ], + [ + 26, + 33 + ], + [ + 2, + 38 + ], + [ + 23, + 30 + ], + [ + 9, + 13 + ], + [ + 2, + 33 + ], + [ + 13, + 14 + ], + [ + 0, + 30 + ], + [ + 15, + 27 + ], + [ + 8, + 31 + ], + [ + 24, + 29 + ], + [ + 15, + 19 + ], + [ + 0, + 27 + ], + [ + 0, + 1 + ], + [ + 15, + 24 + ], + [ + 6, + 23 + ], + [ + 19, + 24 + ], + [ + 14, + 21 + ], + [ + 0, + 16 + ], + [ + 15, + 19 + ], + [ + 0, + 20 + ], + [ + 12, + 14 + ], + [ + 1, + 18 + ], + [ + 5, + 16 + ], + [ + 3, + 15 + ], + [ + 8, + 14 + ], + [ + 3, + 14 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 6, + 10 + ], + [ + 4, + 9 + ], + [ + 6, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 6 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 7.236184541001421, + "first_execute_seconds": 0.006315416998404544, + "warm_seconds_median": 0.0005532920004043262, + "warm_seconds_mad": 3.550000110408291e-05, + "peak_rss_bytes": 342163456, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.246567124630491e-06, + "valid": true, + "failure": null, + "worker_pid": 46052, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.0729302316904068, + -0.04737113416194916, + -0.05892021954059601, + -0.13894054293632507, + -0.17407837510108948, + -0.2856508493423462, + -0.044431693851947784, + -0.28800153732299805, + -0.3262191116809845, + -0.3871098756790161, + 0.0 + ], + [ + -0.011313248425722122, + 0.0018172267591580749, + -0.05270254984498024, + -0.07646044343709946, + 0.04319676011800766, + 0.019278686493635178, + -0.15224727988243103, + -0.2090645432472229, + -0.02294284850358963, + 0.19368675351142883, + 0.183522030711174, + 0.05922207981348038 + ] + ], + [ + [ + 0.2825274169445038, + -0.07275563478469849, + -0.24816827476024628, + -0.18776383996009827, + -0.22483712434768677, + -0.1654844731092453, + -0.15414512157440186, + 0.04240686073899269, + -0.16628669202327728, + -0.25748711824417114, + -0.4156583547592163, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800736606121063, + 0.01220827829092741, + 0.0899810865521431, + 0.17996226251125336, + 0.04348638281226158, + -0.07909038662910461, + -0.09540721029043198, + 0.013694416731595993, + 0.15580451488494873, + 0.10954714566469193, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 45960 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34400, + "contractions_per_energy": 1, + "estimated_energy_flops": 34400, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 45040, + "recomputable_bytes": 43744, + "bytes_by_category": { + "primitive:dot_general": 31232, + "jitted:_diag": 6688, + "primitive:conj": 2144, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:concatenate": 704, + "primitive:exp": 704, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 48 + ], + [ + 2, + 47 + ], + [ + 2, + 46 + ], + [ + 2, + 45 + ], + [ + 2, + 44 + ], + [ + 2, + 43 + ], + [ + 2, + 42 + ], + [ + 2, + 41 + ], + [ + 2, + 40 + ], + [ + 2, + 39 + ], + [ + 2, + 38 + ], + [ + 0, + 84 + ], + [ + 0, + 93 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 13, + 25 + ], + [ + 14, + 24 + ], + [ + 14, + 23 + ], + [ + 14, + 22 + ], + [ + 14, + 21 + ], + [ + 14, + 20 + ], + [ + 14, + 19 + ], + [ + 14, + 18 + ], + [ + 14, + 17 + ], + [ + 14, + 16 + ], + [ + 14, + 15 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 1, + 22 + ], + [ + 1, + 21 + ], + [ + 1, + 20 + ], + [ + 1, + 19 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 0, + 14 + ], + [ + 0, + 22 + ], + [ + 1, + 44 + ], + [ + 1, + 43 + ], + [ + 1, + 42 + ], + [ + 1, + 41 + ], + [ + 1, + 40 + ], + [ + 1, + 39 + ], + [ + 1, + 38 + ], + [ + 1, + 37 + ], + [ + 1, + 36 + ], + [ + 1, + 35 + ], + [ + 0, + 34 + ], + [ + 0, + 43 + ], + [ + 18, + 42 + ], + [ + 19, + 54 + ], + [ + 18, + 40 + ], + [ + 28, + 52 + ], + [ + 28, + 48 + ], + [ + 36, + 47 + ], + [ + 27, + 49 + ], + [ + 44, + 48 + ], + [ + 0, + 44 + ], + [ + 17, + 46 + ], + [ + 43, + 45 + ], + [ + 8, + 42 + ], + [ + 32, + 43 + ], + [ + 41, + 42 + ], + [ + 8, + 32 + ], + [ + 8, + 31 + ], + [ + 38, + 39 + ], + [ + 8, + 30 + ], + [ + 8, + 29 + ], + [ + 35, + 36 + ], + [ + 8, + 28 + ], + [ + 8, + 27 + ], + [ + 32, + 33 + ], + [ + 8, + 26 + ], + [ + 8, + 25 + ], + [ + 29, + 30 + ], + [ + 7, + 24 + ], + [ + 14, + 28 + ], + [ + 21, + 27 + ], + [ + 25, + 26 + ], + [ + 20, + 25 + ], + [ + 13, + 24 + ], + [ + 6, + 23 + ], + [ + 0, + 18 + ], + [ + 5, + 21 + ], + [ + 10, + 20 + ], + [ + 15, + 19 + ], + [ + 10, + 18 + ], + [ + 5, + 17 + ], + [ + 0, + 16 + ], + [ + 3, + 14 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 10, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 4.800149040998804, + "first_execute_seconds": 0.0018993749981746078, + "warm_seconds_median": 0.0005020839998906013, + "warm_seconds_mad": 3.162500070175156e-05, + "peak_rss_bytes": 354435072, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.119870555964857e-06, + "valid": true, + "failure": null, + "worker_pid": 45752, + "parent_pid": 45668, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293009757995605, + -0.04737122356891632, + -0.058920204639434814, + -0.13894060254096985, + -0.17407837510108948, + -0.2856507897377014, + -0.04443167895078659, + -0.28800150752067566, + -0.3262191414833069, + -0.3871099054813385, + 0.0 + ], + [ + -0.011313307099044323, + 0.0018171895062550902, + -0.05270252004265785, + -0.07646030932664871, + 0.04319678992033005, + 0.019278597086668015, + -0.15224720537662506, + -0.2090645432472229, + -0.02294285222887993, + 0.1936868131160736, + 0.18352192640304565, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825276553630829, + -0.07275581359863281, + -0.24816825985908508, + -0.18776383996009827, + -0.224837064743042, + -0.16548442840576172, + -0.15414515137672424, + 0.0424068309366703, + -0.16628672182559967, + -0.25748705863952637, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800739586353302, + 0.012208263389766216, + 0.08998117595911026, + 0.17996211349964142, + 0.04348641261458397, + -0.07909050583839417, + -0.09540712088346481, + 0.013694342225790024, + 0.15580447018146515, + 0.10954705625772476, + 0.039108406752347946 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 47688 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34576, + "contractions_per_energy": 1, + "estimated_energy_flops": 34576, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 48848, + "recomputable_bytes": 47552, + "bytes_by_category": { + "primitive:dot_general": 35136, + "jitted:_diag": 6688, + "primitive:conj": 2368, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 384, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 2, + 25 + ], + [ + 20, + 76 + ], + [ + 21, + 76 + ], + [ + 8, + 28 + ], + [ + 3, + 22 + ], + [ + 2, + 20 + ], + [ + 5, + 22 + ], + [ + 8, + 58 + ], + [ + 12, + 61 + ], + [ + 3, + 17 + ], + [ + 13, + 60 + ], + [ + 10, + 56 + ], + [ + 8, + 53 + ], + [ + 9, + 53 + ], + [ + 4, + 13 + ], + [ + 0, + 9 + ], + [ + 0, + 111 + ], + [ + 2, + 9 + ], + [ + 1, + 7 + ], + [ + 2, + 41 + ], + [ + 3, + 41 + ], + [ + 2, + 39 + ], + [ + 42, + 53 + ], + [ + 0, + 2 + ], + [ + 36, + 88 + ], + [ + 54, + 65 + ], + [ + 65, + 77 + ], + [ + 0, + 98 + ], + [ + 41, + 51 + ], + [ + 34, + 96 + ], + [ + 33, + 71 + ], + [ + 51, + 61 + ], + [ + 4, + 89 + ], + [ + 51, + 60 + ], + [ + 10, + 21 + ], + [ + 38, + 65 + ], + [ + 33, + 41 + ], + [ + 35, + 68 + ], + [ + 48, + 80 + ], + [ + 2, + 62 + ], + [ + 28, + 56 + ], + [ + 30, + 36 + ], + [ + 24, + 49 + ], + [ + 40, + 78 + ], + [ + 40, + 82 + ], + [ + 28, + 57 + ], + [ + 1, + 9 + ], + [ + 4, + 50 + ], + [ + 6, + 55 + ], + [ + 35, + 41 + ], + [ + 26, + 57 + ], + [ + 13, + 22 + ], + [ + 22, + 46 + ], + [ + 30, + 64 + ], + [ + 5, + 71 + ], + [ + 11, + 19 + ], + [ + 12, + 63 + ], + [ + 17, + 19 + ], + [ + 4, + 67 + ], + [ + 22, + 67 + ], + [ + 20, + 22 + ], + [ + 15, + 58 + ], + [ + 20, + 42 + ], + [ + 13, + 43 + ], + [ + 2, + 7 + ], + [ + 12, + 33 + ], + [ + 4, + 10 + ], + [ + 32, + 53 + ], + [ + 29, + 59 + ], + [ + 9, + 55 + ], + [ + 3, + 8 + ], + [ + 2, + 25 + ], + [ + 21, + 24 + ], + [ + 0, + 42 + ], + [ + 0, + 17 + ], + [ + 19, + 51 + ], + [ + 13, + 51 + ], + [ + 16, + 21 + ], + [ + 14, + 16 + ], + [ + 13, + 38 + ], + [ + 18, + 19 + ], + [ + 24, + 39 + ], + [ + 23, + 35 + ], + [ + 8, + 16 + ], + [ + 17, + 35 + ], + [ + 4, + 40 + ], + [ + 39, + 41 + ], + [ + 11, + 21 + ], + [ + 12, + 25 + ], + [ + 3, + 17 + ], + [ + 11, + 36 + ], + [ + 5, + 36 + ], + [ + 23, + 25 + ], + [ + 29, + 34 + ], + [ + 21, + 33 + ], + [ + 30, + 31 + ], + [ + 3, + 12 + ], + [ + 10, + 29 + ], + [ + 11, + 29 + ], + [ + 22, + 28 + ], + [ + 3, + 21 + ], + [ + 13, + 25 + ], + [ + 10, + 16 + ], + [ + 19, + 21 + ], + [ + 0, + 14 + ], + [ + 7, + 18 + ], + [ + 8, + 9 + ], + [ + 5, + 15 + ], + [ + 10, + 18 + ], + [ + 17, + 18 + ], + [ + 9, + 15 + ], + [ + 1, + 9 + ], + [ + 3, + 13 + ], + [ + 11, + 14 + ], + [ + 3, + 9 + ], + [ + 0, + 10 + ], + [ + 3, + 9 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 5, + 8 + ], + [ + 1, + 7 + ], + [ + 4, + 6 + ], + [ + 1, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 5.535976874998596, + "first_execute_seconds": 0.0019990830005554017, + "warm_seconds_median": 0.00045020900142844766, + "warm_seconds_mad": 2.6251000235788524e-05, + "peak_rss_bytes": 383008768, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.150404855663761e-06, + "valid": true, + "failure": null, + "worker_pid": 45882, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258734822273254, + 0.072930246591568, + -0.04737114906311035, + -0.05892017483711243, + -0.13894060254096985, + -0.17407840490341187, + -0.2856508493423462, + -0.04443160444498062, + -0.2880015969276428, + -0.3262191414833069, + -0.38710981607437134, + 0.0 + ], + [ + -0.011313189752399921, + 0.0018172416603192687, + -0.05270252004265785, + -0.0764603391289711, + 0.043196745216846466, + 0.019278641790151596, + -0.15224723517894745, + -0.20906436443328857, + -0.02294294722378254, + 0.19368678331375122, + 0.18352189660072327, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825275957584381, + -0.07275570183992386, + -0.24816812574863434, + -0.18776383996009827, + -0.2248370498418808, + -0.16548442840576172, + -0.15414518117904663, + 0.0424068421125412, + -0.16628676652908325, + -0.25748711824417114, + -0.4156584143638611, + 0.0 + ], + [ + -0.101773701608181, + -0.09800741076469421, + 0.012208248488605022, + 0.0899810865521431, + 0.17996226251125336, + 0.04348640888929367, + -0.07909026741981506, + -0.09540713578462601, + 0.01369452103972435, + 0.15580448508262634, + 0.10954702645540237, + 0.03910834342241287 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 44872 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 128, + "input_tensor_elements": 1328, + "path_flops": 34592, + "contractions_per_energy": 1, + "estimated_energy_flops": 34592, + "estimated_energy_tensor_bindings": 128, + "largest_intermediate_elements": 96, + "contraction_steps": 127, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 698, + "total_bytes": 43600, + "recomputable_bytes": 42304, + "bytes_by_category": { + "primitive:dot_general": 29728, + "jitted:_diag": 6688, + "primitive:conj": 2240, + "primitive:reshape": 1408, + "literal": 1280, + "primitive:exp": 704, + "primitive:concatenate": 672, + "primitive:scatter": 288, + "primitive:cos": 192, + "primitive:sin": 192, + "primitive:stack": 192, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9052437499994994, + "first_execute_seconds": 0.0015574579992971849, + "warm_seconds_median": 0.0004893749974144157, + "warm_seconds_mad": 3.3330034057144076e-06, + "peak_rss_bytes": 290537472, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 46224, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 42208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.0082660420011962, + "first_execute_seconds": 0.0015809169999556616, + "warm_seconds_median": 0.000666583000565879, + "warm_seconds_mad": 3.379199915798381e-05, + "peak_rss_bytes": 298582016, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.060726402124429e-06, + "valid": true, + "failure": null, + "worker_pid": 46251, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293026149272919, + -0.047371141612529755, + -0.0589202344417572, + -0.13894064724445343, + -0.17407828569412231, + -0.28565090894699097, + -0.044431667774915695, + -0.2880015969276428, + -0.3262191116809845, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131313107907772, + 0.0018172789132222533, + -0.052702490240335464, + -0.07646044343709946, + 0.04319673031568527, + 0.01927870139479637, + -0.15224725008010864, + -0.20906442403793335, + -0.022942863404750824, + 0.19368690252304077, + 0.18352198600769043, + 0.059221960604190826 + ] + ], + [ + [ + 0.28252771496772766, + -0.07275572419166565, + -0.24816834926605225, + -0.18776395916938782, + -0.22483712434768677, + -0.16548433899879456, + -0.15414509177207947, + 0.04240685701370239, + -0.16628675162792206, + -0.25748729705810547, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177385061979294, + -0.09800734370946884, + 0.012208263389766216, + 0.08998114615678787, + 0.1799621433019638, + 0.04348641261458397, + -0.07909029722213745, + -0.09540719538927078, + 0.013694476336240768, + 0.15580448508262634, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3765, + "temp_size_in_bytes": 44112 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 138, + "total_bytes": 39520, + "recomputable_bytes": 36624, + "bytes_by_category": { + "primitive:scan": 34112, + "constant": 2752, + "primitive:dot_general": 896, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.407293958000082, + "first_execute_seconds": 0.0047034169983817264, + "warm_seconds_median": 0.0010149999980058055, + "warm_seconds_mad": 0.0001356249958917033, + "peak_rss_bytes": 284655616, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.02742911479669e-06, + "valid": true, + "failure": null, + "worker_pid": 46280, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473710373044014, + -0.0589202381670475, + -0.13894066214561462, + -0.1740783452987671, + -0.28565090894699097, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172714626416564, + -0.05270246043801308, + -0.0764603540301323, + 0.04319678992033005, + 0.01927870884537697, + -0.15224727988243103, + -0.20906442403793335, + -0.022942863404750824, + 0.19368687272071838, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816827476024628, + -0.18776386976242065, + -0.22483716905117035, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686073899269, + -0.16628676652908325, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208263389766216, + 0.0899810865521431, + 0.17996229231357574, + 0.043486472219228745, + -0.07909014821052551, + -0.09540712088346481, + 0.013694476336240768, + 0.15580449998378754, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1081, + "temp_size_in_bytes": 43184 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 37520, + "recomputable_bytes": 37120, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 960, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:reshape": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.4650403750019905, + "first_execute_seconds": 0.003823625000222819, + "warm_seconds_median": 0.000758250000217231, + "warm_seconds_mad": 1.7292000848101452e-05, + "peak_rss_bytes": 273661952, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.00643492887432e-06, + "valid": true, + "failure": null, + "worker_pid": 46350, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737108200788498, + -0.0589202344417572, + -0.13894063234329224, + -0.1740783452987671, + -0.28565093874931335, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172789132222533, + -0.05270246043801308, + -0.07646038383245468, + 0.04319678992033005, + 0.019278693944215775, + -0.15224730968475342, + -0.20906448364257812, + -0.022942867130041122, + 0.19368690252304077, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816828966140747, + -0.18776386976242065, + -0.22483715415000916, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686818957329, + -0.16628676652908325, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208308093249798, + 0.0899810865521431, + 0.17996226251125336, + 0.04348644241690636, + -0.07909020781517029, + -0.09540709108114243, + 0.013694483786821365, + 0.15580448508262634, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 54560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 35936, + "recomputable_bytes": 35536, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.7847422499980894, + "first_execute_seconds": 0.00773062500229571, + "warm_seconds_median": 0.0007606670005770866, + "warm_seconds_mad": 0.00011416699999244884, + "peak_rss_bytes": 285081600, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.8752780170748355e-06, + "valid": true, + "failure": null, + "worker_pid": 46423, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302391409874, + -0.04737109690904617, + -0.0589202418923378, + -0.1389407217502594, + -0.17407840490341187, + -0.2856510579586029, + -0.04443172365427017, + -0.2880017161369324, + -0.3262193202972412, + -0.38711023330688477, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172714626416564, + -0.05270254984498024, + -0.07646042853593826, + 0.043196745216846466, + 0.01927870139479637, + -0.15224730968475342, + -0.2090645432472229, + -0.022942867130041122, + 0.19368693232536316, + 0.1835220754146576, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275572419166565, + -0.24816834926605225, + -0.18776392936706543, + -0.22483724355697632, + -0.1654844433069229, + -0.15414518117904663, + 0.04240685701370239, + -0.16628685593605042, + -0.25748735666275024, + -0.41565877199172974, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800739586353302, + 0.012208293192088604, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909029722213745, + -0.09540712088346481, + 0.013694483786821365, + 0.1558046191930771, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3789, + "temp_size_in_bytes": 56288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 138, + "total_bytes": 36640, + "recomputable_bytes": 33744, + "bytes_by_category": { + "primitive:scan": 31232, + "constant": 2752, + "primitive:dot_general": 896, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.229637291002291, + "first_execute_seconds": 0.005335999998351326, + "warm_seconds_median": 0.0012689169998338912, + "warm_seconds_mad": 9.299999874201603e-05, + "peak_rss_bytes": 315998208, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.02742911479669e-06, + "valid": true, + "failure": null, + "worker_pid": 46541, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.072930246591568, + -0.0473710373044014, + -0.0589202381670475, + -0.13894066214561462, + -0.1740783452987671, + -0.28565090894699097, + -0.04443163424730301, + -0.28800153732299805, + -0.32621920108795166, + -0.38711002469062805, + 0.0 + ], + [ + -0.011313309893012047, + 0.0018172714626416564, + -0.05270246043801308, + -0.0764603540301323, + 0.04319678992033005, + 0.01927870884537697, + -0.15224727988243103, + -0.20906442403793335, + -0.022942863404750824, + 0.19368687272071838, + 0.18352200090885162, + 0.059221915900707245 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816827476024628, + -0.18776386976242065, + -0.22483716905117035, + -0.16548439860343933, + -0.15414513647556305, + 0.04240686073899269, + -0.16628676652908325, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177402943372726, + -0.09800739586353302, + 0.012208263389766216, + 0.0899810865521431, + 0.17996229231357574, + 0.043486472219228745, + -0.07909014821052551, + -0.09540712088346481, + 0.013694476336240768, + 0.15580449998378754, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1105, + "temp_size_in_bytes": 56776 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 30404, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 30404, + "total_backward_flops": 60612, + "total_flops": 91016, + "total_traffic_elements": 29151, + "total_traffic_bytes": 233208, + "peak_role_residual_elements": 520, + "static_score": 215940, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 37520, + "recomputable_bytes": 37120, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 960, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:reshape": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 18, + 19 + ], + [ + 12, + 14 + ], + [ + 13, + 14 + ], + [ + 5, + 11 + ], + [ + 14, + 15 + ], + [ + 19, + 20 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 8 + ], + [ + 9, + 16 + ], + [ + 7, + 16 + ], + [ + 4, + 5 + ], + [ + 4, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 4 + ], + [ + 3, + 8 + ], + [ + 0, + 9 + ], + [ + 0, + 5 + ], + [ + 6, + 9 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.5594095829983416, + "first_execute_seconds": 0.002060041999357054, + "warm_seconds_median": 0.0008102499996311963, + "warm_seconds_mad": 0.00012866600081906654, + "peak_rss_bytes": 342818816, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.08407327882394e-06, + "valid": true, + "failure": null, + "worker_pid": 46600, + "parent_pid": 45668, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302316904068, + -0.04737117141485214, + -0.05892018973827362, + -0.13894061744213104, + -0.17407843470573425, + -0.28565099835395813, + -0.0444316640496254, + -0.2880015969276428, + -0.3262191116809845, + -0.3871098458766937, + 0.0 + ], + [ + -0.011313075199723244, + 0.0018172789132222533, + -0.05270257964730263, + -0.0764603540301323, + 0.043196626007556915, + 0.01927870139479637, + -0.15224722027778625, + -0.20906436443328857, + -0.02294289320707321, + 0.1936868131160736, + 0.18352186679840088, + 0.059221893548965454 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275574654340744, + -0.24816828966140747, + -0.18776388466358185, + -0.22483718395233154, + -0.16548442840576172, + -0.15414513647556305, + 0.042406827211380005, + -0.16628673672676086, + -0.25748711824417114, + -0.4156583547592163, + 0.0 + ], + [ + -0.10177382081747055, + -0.09800735861063004, + 0.012208203785121441, + 0.08998111635446548, + 0.17996220290660858, + 0.04348638281226158, + -0.07909032702445984, + -0.09540718048810959, + 0.013694453984498978, + 0.15580445528030396, + 0.10954699665307999, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 47904 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6256, + "bulk_block_path_flops": 6256, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32244, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32244, + "total_backward_flops": 64292, + "total_flops": 96536, + "total_traffic_elements": 29031, + "total_traffic_bytes": 232248, + "peak_role_residual_elements": 1036, + "static_score": 229236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6256, + "backward_flops": 12480, + "forward_read_elements": 1036, + "forward_write_elements": 796, + "backward_read_elements": 2628, + "backward_write_elements": 1036, + "residual_elements": 1036, + "peak_live_residual_elements": 1036, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18736, + "traffic_elements": 5496 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 36704, + "recomputable_bytes": 36176, + "bytes_by_category": { + "primitive:scan": 33344, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 18, + 19 + ], + [ + 12, + 14 + ], + [ + 13, + 14 + ], + [ + 5, + 11 + ], + [ + 14, + 15 + ], + [ + 19, + 20 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 8 + ], + [ + 9, + 16 + ], + [ + 7, + 16 + ], + [ + 4, + 5 + ], + [ + 4, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 4 + ], + [ + 3, + 8 + ], + [ + 0, + 9 + ], + [ + 0, + 5 + ], + [ + 6, + 9 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.4346635840011004, + "first_execute_seconds": 0.0033792079993872903, + "warm_seconds_median": 0.0007397500012302771, + "warm_seconds_mad": 6.68339998810552e-05, + "peak_rss_bytes": 289308672, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.973640629929643e-06, + "valid": true, + "failure": null, + "worker_pid": 46655, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.047371216118335724, + -0.058920156210660934, + -0.1389407068490982, + -0.17407849431037903, + -0.28565114736557007, + -0.0444316640496254, + -0.2880017161369324, + -0.3262191712856293, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313371360301971, + 0.0018172714626416564, + -0.05270254984498024, + -0.07646045833826065, + 0.04319680482149124, + 0.019278760999441147, + -0.15224726498126984, + -0.2090645432472229, + -0.022943032905459404, + 0.19368678331375122, + 0.1835220605134964, + 0.05922204256057739 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275582104921341, + -0.24816840887069702, + -0.1877640038728714, + -0.22483721375465393, + -0.16548453271389008, + -0.1541452556848526, + 0.04240696132183075, + -0.16628685593605042, + -0.2574871778488159, + -0.415658563375473, + 0.0 + ], + [ + -0.10177407413721085, + -0.09800739586353302, + 0.012208279222249985, + 0.08998114615678787, + 0.17996232211589813, + 0.04348656162619591, + -0.07909026741981506, + -0.0954071655869484, + 0.01369444653391838, + 0.15580445528030396, + 0.10954717546701431, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3777, + "temp_size_in_bytes": 44176 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6256, + "bulk_block_path_flops": 6256, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32244, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32244, + "total_backward_flops": 64292, + "total_flops": 96536, + "total_traffic_elements": 29031, + "total_traffic_bytes": 232248, + "peak_role_residual_elements": 1036, + "static_score": 229236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6256, + "backward_flops": 12480, + "forward_read_elements": 1036, + "forward_write_elements": 796, + "backward_read_elements": 2628, + "backward_write_elements": 1036, + "residual_elements": 1036, + "peak_live_residual_elements": 1036, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18736, + "traffic_elements": 5496 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 182, + "total_bytes": 34848, + "recomputable_bytes": 31824, + "bytes_by_category": { + "primitive:scan": 28992, + "constant": 2880, + "primitive:dot_general": 960, + "primitive:stack": 512, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 18, + 19 + ], + [ + 12, + 14 + ], + [ + 13, + 14 + ], + [ + 5, + 11 + ], + [ + 14, + 15 + ], + [ + 19, + 20 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 8 + ], + [ + 9, + 16 + ], + [ + 7, + 16 + ], + [ + 4, + 5 + ], + [ + 4, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 4 + ], + [ + 3, + 8 + ], + [ + 0, + 9 + ], + [ + 0, + 5 + ], + [ + 6, + 9 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.7251928750010848, + "first_execute_seconds": 0.0020669580007961486, + "warm_seconds_median": 0.0006688329995085951, + "warm_seconds_mad": 4.187499871477485e-05, + "peak_rss_bytes": 314703872, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.112101968565573e-06, + "valid": true, + "failure": null, + "worker_pid": 46719, + "parent_pid": 45668, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.04737112671136856, + -0.05892017483711243, + -0.13894060254096985, + -0.17407840490341187, + -0.28565099835395813, + -0.0444316640496254, + -0.28800156712532043, + -0.3262191116809845, + -0.38710981607437134, + 0.0 + ], + [ + -0.011313075199723244, + 0.0018172938143834472, + -0.05270257964730263, + -0.0764603540301323, + 0.04319664090871811, + 0.019278693944215775, + -0.15224723517894745, + -0.2090643346309662, + -0.022942889481782913, + 0.193686842918396, + 0.18352188169956207, + 0.059221893548965454 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275574654340744, + -0.24816828966140747, + -0.18776385486125946, + -0.22483715415000916, + -0.16548442840576172, + -0.15414513647556305, + 0.04240681976079941, + -0.16628673672676086, + -0.25748711824417114, + -0.41565829515457153, + 0.0 + ], + [ + -0.10177382081747055, + -0.09800735861063004, + 0.012208203785121441, + 0.08998111635446548, + 0.1799621731042862, + 0.04348641261458397, + -0.07909032702445984, + -0.09540721029043198, + 0.013694453984498978, + 0.15580445528030396, + 0.1095469668507576, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 49264 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6256, + "bulk_block_path_flops": 6256, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32244, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32244, + "total_backward_flops": 64292, + "total_flops": 96536, + "total_traffic_elements": 29031, + "total_traffic_bytes": 232248, + "peak_role_residual_elements": 1036, + "static_score": 229236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6256, + "backward_flops": 12480, + "forward_read_elements": 1036, + "forward_write_elements": 796, + "backward_read_elements": 2628, + "backward_write_elements": 1036, + "residual_elements": 1036, + "peak_live_residual_elements": 1036, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18736, + "traffic_elements": 5496 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 186, + "total_bytes": 38288, + "recomputable_bytes": 37760, + "bytes_by_category": { + "primitive:scan": 32960, + "primitive:dot_general": 1024, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 18, + 19 + ], + [ + 12, + 14 + ], + [ + 13, + 14 + ], + [ + 5, + 11 + ], + [ + 14, + 15 + ], + [ + 19, + 20 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 8 + ], + [ + 9, + 16 + ], + [ + 7, + 16 + ], + [ + 4, + 5 + ], + [ + 4, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 4 + ], + [ + 3, + 8 + ], + [ + 0, + 9 + ], + [ + 0, + 5 + ], + [ + 6, + 9 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.722913957997662, + "first_execute_seconds": 0.014246916998672532, + "warm_seconds_median": 0.0007760420012346003, + "warm_seconds_mad": 9.966699872165918e-05, + "peak_rss_bytes": 280952832, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.08407327882394e-06, + "valid": true, + "failure": null, + "worker_pid": 46787, + "parent_pid": 45668, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.525873601436615, + 0.0729302316904068, + -0.04737117141485214, + -0.05892018973827362, + -0.13894061744213104, + -0.17407843470573425, + -0.28565099835395813, + -0.0444316640496254, + -0.2880015969276428, + -0.3262191116809845, + -0.3871098458766937, + 0.0 + ], + [ + -0.011313075199723244, + 0.0018172789132222533, + -0.05270257964730263, + -0.0764603540301323, + 0.043196626007556915, + 0.01927870139479637, + -0.15224722027778625, + -0.20906436443328857, + -0.02294289320707321, + 0.1936868131160736, + 0.18352186679840088, + 0.059221893548965454 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275574654340744, + -0.24816828966140747, + -0.18776388466358185, + -0.22483718395233154, + -0.16548442840576172, + -0.15414513647556305, + 0.042406827211380005, + -0.16628673672676086, + -0.25748711824417114, + -0.4156583547592163, + 0.0 + ], + [ + -0.10177382081747055, + -0.09800735861063004, + 0.012208203785121441, + 0.08998111635446548, + 0.17996220290660858, + 0.04348638281226158, + -0.07909032702445984, + -0.09540718048810959, + 0.013694453984498978, + 0.15580445528030396, + 0.10954699665307999, + 0.03910810500383377 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43344 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6256, + "bulk_block_path_flops": 6256, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32244, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32244, + "total_backward_flops": 64292, + "total_flops": 96536, + "total_traffic_elements": 29031, + "total_traffic_bytes": 232248, + "peak_role_residual_elements": 1036, + "static_score": 229236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6256, + "backward_flops": 12480, + "forward_read_elements": 1036, + "forward_write_elements": 796, + "backward_read_elements": 2628, + "backward_write_elements": 1036, + "residual_elements": 1036, + "peak_live_residual_elements": 1036, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18736, + "traffic_elements": 5496 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 36704, + "recomputable_bytes": 36176, + "bytes_by_category": { + "primitive:scan": 33344, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 18, + 19 + ], + [ + 12, + 14 + ], + [ + 13, + 14 + ], + [ + 5, + 11 + ], + [ + 14, + 15 + ], + [ + 19, + 20 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 8 + ], + [ + 9, + 16 + ], + [ + 7, + 16 + ], + [ + 4, + 5 + ], + [ + 4, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 4 + ], + [ + 3, + 8 + ], + [ + 0, + 9 + ], + [ + 0, + 5 + ], + [ + 6, + 9 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.323508624998794, + "first_execute_seconds": 0.006461291999585228, + "warm_seconds_median": 0.0008412499992118683, + "warm_seconds_mad": 1.3375003618421033e-05, + "peak_rss_bytes": 294486016, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.028979444060307e-06, + "valid": true, + "failure": null, + "worker_pid": 47050, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.072930246591568, + -0.04737109690904617, + -0.05892021581530571, + -0.13894063234329224, + -0.1740783154964447, + -0.28565093874931335, + -0.0444316640496254, + -0.2880016565322876, + -0.32621920108795166, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313192546367645, + 0.0018172714626416564, + -0.05270257964730263, + -0.07646045833826065, + 0.04319671541452408, + 0.019278723746538162, + -0.15224729478359222, + -0.20906442403793335, + -0.022942882031202316, + 0.193686842918396, + 0.18352200090885162, + 0.05922193080186844 + ] + ], + [ + [ + 0.28252771496772766, + -0.07275575399398804, + -0.24816836416721344, + -0.18776386976242065, + -0.22483713924884796, + -0.16548439860343933, + -0.15414515137672424, + 0.04240688681602478, + -0.16628681123256683, + -0.25748732686042786, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800735116004944, + 0.012208293192088604, + 0.08998111635446548, + 0.17996220290660858, + 0.04348638281226158, + -0.07909026741981506, + -0.09540718048810959, + 0.013694491237401962, + 0.15580454468727112, + 0.10954717546701431, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2720, + "temp_size_in_bytes": 49808 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6256, + "bulk_block_path_flops": 6256, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32244, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32244, + "total_backward_flops": 64292, + "total_flops": 96536, + "total_traffic_elements": 29031, + "total_traffic_bytes": 232248, + "peak_role_residual_elements": 1036, + "static_score": 229236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6256, + "backward_flops": 12480, + "forward_read_elements": 1036, + "forward_write_elements": 796, + "backward_read_elements": 2628, + "backward_write_elements": 1036, + "residual_elements": 1036, + "peak_live_residual_elements": 1036, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18736, + "traffic_elements": 5496 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 182, + "total_bytes": 41408, + "recomputable_bytes": 38384, + "bytes_by_category": { + "primitive:scan": 35552, + "constant": 2880, + "primitive:dot_general": 960, + "primitive:stack": 512, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 22, + 23 + ], + [ + 18, + 19 + ], + [ + 12, + 14 + ], + [ + 13, + 14 + ], + [ + 5, + 11 + ], + [ + 14, + 15 + ], + [ + 19, + 20 + ], + [ + 5, + 6 + ], + [ + 2, + 3 + ], + [ + 6, + 8 + ], + [ + 9, + 16 + ], + [ + 7, + 16 + ], + [ + 4, + 5 + ], + [ + 4, + 11 + ], + [ + 3, + 11 + ], + [ + 1, + 4 + ], + [ + 3, + 8 + ], + [ + 0, + 9 + ], + [ + 0, + 5 + ], + [ + 6, + 9 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.248662375001004, + "first_execute_seconds": 0.00351408300048206, + "warm_seconds_median": 0.0006298750013229437, + "warm_seconds_mad": 5.970800339127891e-05, + "peak_rss_bytes": 301547520, + "energy_abs_error": 9.5367431640625e-06, + "gradient_relative_l2_error": 4.112101968565573e-06, + "valid": true, + "failure": null, + "worker_pid": 47215, + "parent_pid": 45668, + "energy": -11.942818641662598, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.0729302316904068, + -0.04737112671136856, + -0.05892017483711243, + -0.13894060254096985, + -0.17407840490341187, + -0.28565099835395813, + -0.0444316640496254, + -0.28800156712532043, + -0.3262191116809845, + -0.38710981607437134, + 0.0 + ], + [ + -0.011313075199723244, + 0.0018172938143834472, + -0.05270257964730263, + -0.0764603540301323, + 0.04319664090871811, + 0.019278693944215775, + -0.15224723517894745, + -0.2090643346309662, + -0.022942889481782913, + 0.193686842918396, + 0.18352188169956207, + 0.059221893548965454 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275574654340744, + -0.24816828966140747, + -0.18776385486125946, + -0.22483715415000916, + -0.16548442840576172, + -0.15414513647556305, + 0.04240681976079941, + -0.16628673672676086, + -0.25748711824417114, + -0.41565829515457153, + 0.0 + ], + [ + -0.10177382081747055, + -0.09800735861063004, + 0.012208203785121441, + 0.08998111635446548, + 0.1799621731042862, + 0.04348641261458397, + -0.07909032702445984, + -0.09540721029043198, + 0.013694453984498978, + 0.15580445528030396, + 0.1095469668507576, + 0.039108164608478546 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 45776 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6256, + "bulk_block_path_flops": 6256, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 32244, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32244, + "total_backward_flops": 64292, + "total_flops": 96536, + "total_traffic_elements": 29031, + "total_traffic_bytes": 232248, + "peak_role_residual_elements": 1036, + "static_score": 229236, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6256, + "backward_flops": 12480, + "forward_read_elements": 1036, + "forward_write_elements": 796, + "backward_read_elements": 2628, + "backward_write_elements": 1036, + "residual_elements": 1036, + "peak_live_residual_elements": 1036, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18736, + "traffic_elements": 5496 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 186, + "total_bytes": 38288, + "recomputable_bytes": 37760, + "bytes_by_category": { + "primitive:scan": 32960, + "primitive:dot_general": 1024, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.2456820420011354, + "first_execute_seconds": 0.004516125001828186, + "warm_seconds_median": 0.0007142909998947289, + "warm_seconds_mad": 7.208399983937852e-05, + "peak_rss_bytes": 297844736, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 3.973280842463639e-06, + "valid": true, + "failure": null, + "worker_pid": 47392, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293027639389038, + -0.04737120121717453, + -0.05892028659582138, + -0.13894066214561462, + -0.17407843470573425, + -0.28565096855163574, + -0.04443160444498062, + -0.28800168633461, + -0.32621926069259644, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172863638028502, + -0.052702490240335464, + -0.0764603540301323, + 0.043196775019168854, + 0.01927875354886055, + -0.15224730968475342, + -0.20906448364257812, + -0.022942889481782913, + 0.19368693232536316, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275564968585968, + -0.24816840887069702, + -0.187763974070549, + -0.22483716905117035, + -0.16548442840576172, + -0.15414510667324066, + 0.042406875640153885, + -0.16628684103488922, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800736606121063, + 0.012208264321088791, + 0.08998114615678787, + 0.17996223270893097, + 0.04348641261458397, + -0.07909032702445984, + -0.09540719538927078, + 0.013694558292627335, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 55200 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 39104, + "recomputable_bytes": 38224, + "bytes_by_category": { + "primitive:scan": 31200, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6848646250000456, + "first_execute_seconds": 0.004562083999189781, + "warm_seconds_median": 0.0006060840023565106, + "warm_seconds_mad": 6.233400199562311e-05, + "peak_rss_bytes": 279363584, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.956495875004255e-06, + "valid": true, + "failure": null, + "worker_pid": 47480, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302316904068, + -0.04737115651369095, + -0.058920226991176605, + -0.13894067704677582, + -0.17407840490341187, + -0.2856511175632477, + -0.0444316640496254, + -0.2880018949508667, + -0.3262193202972412, + -0.3871102035045624, + 0.0 + ], + [ + -0.011313311755657196, + 0.0018172714626416564, + -0.05270257964730263, + -0.0764603540301323, + 0.04319664090871811, + 0.019278686493635178, + -0.15224727988243103, + -0.2090645134449005, + -0.022942891344428062, + 0.19368693232536316, + 0.1835220903158188, + 0.0592220202088356 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275576889514923, + -0.24816834926605225, + -0.18776395916938782, + -0.22483724355697632, + -0.16548453271389008, + -0.1541452258825302, + 0.04240697994828224, + -0.16628681123256683, + -0.25748729705810547, + -0.4156586527824402, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800738096237183, + 0.012208279222249985, + 0.08998105674982071, + 0.17996220290660858, + 0.04348650202155113, + -0.07909038662910461, + -0.09540725499391556, + 0.013694468885660172, + 0.15580454468727112, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3777, + "temp_size_in_bytes": 50880 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 39776, + "recomputable_bytes": 35152, + "bytes_by_category": { + "primitive:scan": 28416, + "constant": 4384, + "primitive:dot_general": 3136, + "primitive:stack": 768, + "primitive:convert_element_type": 640, + "primitive:conj": 592, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 240, + "primitive:concatenate": 224, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.179010332998587, + "first_execute_seconds": 0.002715540998906363, + "warm_seconds_median": 0.0008850000012898818, + "warm_seconds_mad": 5.3999996453057975e-05, + "peak_rss_bytes": 361086976, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 3.988084194414685e-06, + "valid": true, + "failure": null, + "worker_pid": 47564, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293029129505157, + -0.04737120121717453, + -0.058920279145240784, + -0.13894066214561462, + -0.17407844960689545, + -0.28565096855163574, + -0.04443163424730301, + -0.28800168633461, + -0.3262192904949188, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313313618302345, + 0.001817308715544641, + -0.052702490240335464, + -0.0764603540301323, + 0.04319678992033005, + 0.019278760999441147, + -0.1522473692893982, + -0.20906442403793335, + -0.022942880168557167, + 0.19368693232536316, + 0.18352200090885162, + 0.059221960604190826 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275564968585968, + -0.24816840887069702, + -0.187763974070549, + -0.22483718395233154, + -0.16548442840576172, + -0.15414507687091827, + 0.04240685701370239, + -0.16628682613372803, + -0.2574871778488159, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800735861063004, + 0.012208234518766403, + 0.08998114615678787, + 0.17996220290660858, + 0.043486472219228745, + -0.07909032702445984, + -0.09540722519159317, + 0.013694565743207932, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 56176 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 41480, + "recomputable_bytes": 40600, + "bytes_by_category": { + "primitive:scan": 30816, + "primitive:dot_general": 3712, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:reshape": 768, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.63911754199944, + "first_execute_seconds": 0.0019083749975834507, + "warm_seconds_median": 0.0006415419993572868, + "warm_seconds_mad": 6.833000952610746e-06, + "peak_rss_bytes": 315637760, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 3.973280842463639e-06, + "valid": true, + "failure": null, + "worker_pid": 47657, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293027639389038, + -0.04737120121717453, + -0.05892028659582138, + -0.13894066214561462, + -0.17407843470573425, + -0.28565096855163574, + -0.04443160444498062, + -0.28800168633461, + -0.32621926069259644, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172863638028502, + -0.052702490240335464, + -0.0764603540301323, + 0.043196775019168854, + 0.01927875354886055, + -0.15224730968475342, + -0.20906448364257812, + -0.022942889481782913, + 0.19368693232536316, + 0.183522030711174, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275564968585968, + -0.24816840887069702, + -0.187763974070549, + -0.22483716905117035, + -0.16548442840576172, + -0.15414510667324066, + 0.042406875640153885, + -0.16628684103488922, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800736606121063, + 0.012208264321088791, + 0.08998114615678787, + 0.17996223270893097, + 0.04348641261458397, + -0.07909032702445984, + -0.09540719538927078, + 0.013694558292627335, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 42072 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 39104, + "recomputable_bytes": 38224, + "bytes_by_category": { + "primitive:scan": 31200, + "primitive:dot_general": 3712, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.192618749999383, + "first_execute_seconds": 0.0021815420004713815, + "warm_seconds_median": 0.00048608300130581483, + "warm_seconds_mad": 1.133399928221479e-05, + "peak_rss_bytes": 336609280, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.905634591694055e-06, + "valid": true, + "failure": null, + "worker_pid": 47768, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293020188808441, + -0.04737109690904617, + -0.05892018973827362, + -0.1389407217502594, + -0.17407840490341187, + -0.28565099835395813, + -0.0444316640496254, + -0.28800174593925476, + -0.32621920108795166, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313430964946747, + 0.001817301264964044, + -0.052702609449625015, + -0.07646036893129349, + 0.04319680482149124, + 0.019278768450021744, + -0.1522473394870758, + -0.20906466245651245, + -0.022942867130041122, + 0.19368696212768555, + 0.1835220605134964, + 0.05922193080186844 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275579124689102, + -0.248168483376503, + -0.187763974070549, + -0.22483724355697632, + -0.1654844880104065, + -0.1541452705860138, + 0.04240686446428299, + -0.16628679633140564, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177405923604965, + -0.09800738096237183, + 0.01220821961760521, + 0.08998117595911026, + 0.17996223270893097, + 0.04348641261458397, + -0.07909032702445984, + -0.09540721029043198, + 0.01369444653391838, + 0.1558046042919159, + 0.1095472052693367, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2240, + "temp_size_in_bytes": 43800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 41984, + "recomputable_bytes": 37360, + "bytes_by_category": { + "primitive:scan": 30624, + "constant": 4384, + "primitive:dot_general": 3136, + "primitive:stack": 768, + "primitive:convert_element_type": 640, + "primitive:conj": 592, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 240, + "primitive:concatenate": 224, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 29, + 31 + ], + [ + 4, + 5 + ], + [ + 35, + 36 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 28, + 33 + ], + [ + 23, + 28 + ], + [ + 29, + 36 + ], + [ + 27, + 35 + ], + [ + 6, + 33 + ], + [ + 27, + 34 + ], + [ + 9, + 10 + ], + [ + 17, + 18 + ], + [ + 9, + 26 + ], + [ + 22, + 30 + ], + [ + 1, + 2 + ], + [ + 16, + 17 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 1, + 20 + ], + [ + 1, + 15 + ], + [ + 7, + 16 + ], + [ + 8, + 10 + ], + [ + 4, + 15 + ], + [ + 4, + 14 + ], + [ + 3, + 15 + ], + [ + 5, + 12 + ], + [ + 1, + 11 + ], + [ + 8, + 11 + ], + [ + 1, + 10 + ], + [ + 4, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 5, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.588315375000093, + "first_execute_seconds": 0.006132834001618903, + "warm_seconds_median": 0.0006379170008585788, + "warm_seconds_mad": 4.962499951943755e-05, + "peak_rss_bytes": 257425408, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 3.988084194414685e-06, + "valid": true, + "failure": null, + "worker_pid": 47901, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293029129505157, + -0.04737120121717453, + -0.058920279145240784, + -0.13894066214561462, + -0.17407844960689545, + -0.28565096855163574, + -0.04443163424730301, + -0.28800168633461, + -0.3262192904949188, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313313618302345, + 0.001817308715544641, + -0.052702490240335464, + -0.0764603540301323, + 0.04319678992033005, + 0.019278760999441147, + -0.1522473692893982, + -0.20906442403793335, + -0.022942880168557167, + 0.19368693232536316, + 0.18352200090885162, + 0.059221960604190826 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275564968585968, + -0.24816840887069702, + -0.187763974070549, + -0.22483718395233154, + -0.16548442840576172, + -0.15414507687091827, + 0.04240685701370239, + -0.16628682613372803, + -0.2574871778488159, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177396982908249, + -0.09800735861063004, + 0.012208234518766403, + 0.08998114615678787, + 0.17996220290660858, + 0.043486472219228745, + -0.07909032702445984, + -0.09540722519159317, + 0.013694565743207932, + 0.15580451488494873, + 0.10954711586236954, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 43800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 480, + "bulk_path_flops": 9424, + "bulk_block_path_flops": 9424, + "tail_path_flops": 2944, + "last_path_flops": 484, + "estimated_energy_flops": 32180, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32180, + "total_backward_flops": 64164, + "total_flops": 96344, + "total_traffic_elements": 29799, + "total_traffic_bytes": 238392, + "peak_role_residual_elements": 1596, + "static_score": 241076, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 9424, + "backward_flops": 18800, + "forward_read_elements": 1596, + "forward_write_elements": 1236, + "backward_read_elements": 4068, + "backward_write_elements": 1596, + "residual_elements": 1596, + "peak_live_residual_elements": 1596, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 28224, + "traffic_elements": 8496 + }, + "tail": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 41480, + "recomputable_bytes": 40600, + "bytes_by_category": { + "primitive:scan": 30816, + "primitive:dot_general": 3712, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:reshape": 768, + "primitive:stack": 704, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:conj": 624, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 224, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.531583291998686, + "first_execute_seconds": 0.008282375001726905, + "warm_seconds_median": 0.0006659169994236436, + "warm_seconds_mad": 3.595799717004411e-05, + "peak_rss_bytes": 298532864, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.828366790490293e-06, + "valid": true, + "failure": null, + "worker_pid": 48030, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293025404214859, + -0.04737120121717453, + -0.05892037972807884, + -0.1389407515525818, + -0.17407852411270142, + -0.2856510281562805, + -0.044431693851947784, + -0.2880018353462219, + -0.3262193500995636, + -0.38711017370224, + 0.0 + ], + [ + -0.01131331454962492, + 0.0018172714626416564, + -0.05270257964730263, + -0.0764603540301323, + 0.04319678992033005, + 0.019278671592473984, + -0.15224730968475342, + -0.20906466245651245, + -0.0229429230093956, + 0.19368687272071838, + 0.18352214992046356, + 0.059222035109996796 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816842377185822, + -0.1877640187740326, + -0.2248372733592987, + -0.1654844582080841, + -0.1541452705860138, + 0.04240695387125015, + -0.1662868857383728, + -0.25748735666275024, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800737351179123, + 0.012208294123411179, + 0.08998114615678787, + 0.17996235191822052, + 0.04348644241690636, + -0.07909026741981506, + -0.09540725499391556, + 0.013694528490304947, + 0.15580454468727112, + 0.10954705625772476, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 54816 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 484, + "estimated_energy_flops": 35844, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35844, + "total_backward_flops": 71492, + "total_flops": 107336, + "total_traffic_elements": 30111, + "total_traffic_bytes": 240888, + "peak_role_residual_elements": 2156, + "static_score": 262276, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 37920, + "recomputable_bytes": 36688, + "bytes_by_category": { + "primitive:scan": 26368, + "primitive:dot_general": 6080, + "primitive:stack": 960, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 288, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.5502409169966995, + "first_execute_seconds": 0.010780625001643784, + "warm_seconds_median": 0.0009587499989720527, + "warm_seconds_mad": 0.0001004170007945504, + "peak_rss_bytes": 310575104, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.966218491210168e-06, + "valid": true, + "failure": null, + "worker_pid": 48148, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.047371186316013336, + -0.05892021581530571, + -0.138940691947937, + -0.17407837510108948, + -0.28565099835395813, + -0.04443172365427017, + -0.2880016267299652, + -0.32621923089027405, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313369497656822, + 0.0018172565614804626, + -0.052702490240335464, + -0.07646054774522781, + 0.043196775019168854, + 0.019278626888990402, + -0.1522473841905594, + -0.2090643346309662, + -0.022943029180169106, + 0.19368675351142883, + 0.18352200090885162, + 0.059222012758255005 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275578379631042, + -0.24816842377185822, + -0.18776395916938782, + -0.22483724355697632, + -0.1654844880104065, + -0.1541452705860138, + 0.042406801134347916, + -0.16628681123256683, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177414864301682, + -0.09800732880830765, + 0.012208204716444016, + 0.08998117595911026, + 0.17996226251125336, + 0.043486323207616806, + -0.07909044623374939, + -0.09540718048810959, + 0.013694461435079575, + 0.15580452978610992, + 0.10954717546701431, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3793, + "temp_size_in_bytes": 61312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 484, + "estimated_energy_flops": 35844, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35844, + "total_backward_flops": 71492, + "total_flops": 107336, + "total_traffic_elements": 30111, + "total_traffic_bytes": 240888, + "peak_role_residual_elements": 2156, + "static_score": 262276, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 43392, + "recomputable_bytes": 38416, + "bytes_by_category": { + "primitive:scan": 28288, + "primitive:dot_general": 5600, + "constant": 4640, + "primitive:stack": 1024, + "primitive:conj": 912, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 336, + "primitive:concatenate": 256, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.4048968749993946, + "first_execute_seconds": 0.0028265000000828877, + "warm_seconds_median": 0.0006416669966711197, + "warm_seconds_mad": 1.6457997844554484e-05, + "peak_rss_bytes": 341508096, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.831523681368828e-06, + "valid": true, + "failure": null, + "worker_pid": 48296, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.0729302391409874, + -0.04737120121717453, + -0.05892036855220795, + -0.1389407515525818, + -0.17407852411270142, + -0.2856510281562805, + -0.044431693851947784, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.01131331454962492, + 0.0018172565614804626, + -0.05270257964730263, + -0.0764603242278099, + 0.04319680482149124, + 0.019278664141893387, + -0.1522473394870758, + -0.20906466245651245, + -0.022942908108234406, + 0.19368690252304077, + 0.18352214992046356, + 0.05922207236289978 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275574654340744, + -0.2481684386730194, + -0.1877640187740326, + -0.2248372733592987, + -0.16548451781272888, + -0.1541452705860138, + 0.04240693897008896, + -0.1662868857383728, + -0.25748735666275024, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800737351179123, + 0.012208323925733566, + 0.08998111635446548, + 0.1799624115228653, + 0.04348644241690636, + -0.07909026741981506, + -0.09540725499391556, + 0.013694550842046738, + 0.15580445528030396, + 0.10954708606004715, + 0.03910835087299347 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1109, + "temp_size_in_bytes": 56560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 484, + "estimated_energy_flops": 35844, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35844, + "total_backward_flops": 71492, + "total_flops": 107336, + "total_traffic_elements": 30111, + "total_traffic_bytes": 240888, + "peak_role_residual_elements": 2156, + "static_score": 262276, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 40296, + "recomputable_bytes": 39064, + "bytes_by_category": { + "primitive:scan": 25984, + "primitive:dot_general": 6080, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 960, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 288, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.028095040997869, + "first_execute_seconds": 0.008804375000181608, + "warm_seconds_median": 0.0015266669979610015, + "warm_seconds_mad": 0.0003662080016511027, + "peak_rss_bytes": 299122688, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.828366790490293e-06, + "valid": true, + "failure": null, + "worker_pid": 48355, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293025404214859, + -0.04737120121717453, + -0.05892037972807884, + -0.1389407515525818, + -0.17407852411270142, + -0.2856510281562805, + -0.044431693851947784, + -0.2880018353462219, + -0.3262193500995636, + -0.38711017370224, + 0.0 + ], + [ + -0.01131331454962492, + 0.0018172714626416564, + -0.05270257964730263, + -0.0764603540301323, + 0.04319678992033005, + 0.019278671592473984, + -0.15224730968475342, + -0.20906466245651245, + -0.0229429230093956, + 0.19368687272071838, + 0.18352214992046356, + 0.059222035109996796 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816842377185822, + -0.1877640187740326, + -0.2248372733592987, + -0.1654844582080841, + -0.1541452705860138, + 0.04240695387125015, + -0.1662868857383728, + -0.25748735666275024, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800737351179123, + 0.012208294123411179, + 0.08998114615678787, + 0.17996235191822052, + 0.04348644241690636, + -0.07909026741981506, + -0.09540725499391556, + 0.013694528490304947, + 0.15580454468727112, + 0.10954705625772476, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 41304 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 484, + "estimated_energy_flops": 35844, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35844, + "total_backward_flops": 71492, + "total_flops": 107336, + "total_traffic_elements": 30111, + "total_traffic_bytes": 240888, + "peak_role_residual_elements": 2156, + "static_score": 262276, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 37920, + "recomputable_bytes": 36688, + "bytes_by_category": { + "primitive:scan": 26368, + "primitive:dot_general": 6080, + "primitive:stack": 960, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 288, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.300805667000532, + "first_execute_seconds": 0.007305833998543676, + "warm_seconds_median": 0.0007754159996693488, + "warm_seconds_mad": 3.7581998185487464e-05, + "peak_rss_bytes": 347013120, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.87524800643727e-06, + "valid": true, + "failure": null, + "worker_pid": 48515, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737123101949692, + -0.05892021954059601, + -0.138940691947937, + -0.17407847940921783, + -0.28565114736557007, + -0.044431544840335846, + -0.2880018353462219, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313429102301598, + 0.0018172863638028502, + -0.05270246043801308, + -0.07646039873361588, + 0.043196700513362885, + 0.019278530031442642, + -0.15224741399288177, + -0.20906460285186768, + -0.02294287085533142, + 0.19368678331375122, + 0.1835220605134964, + 0.059222087264060974 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275570929050446, + -0.24816837906837463, + -0.1877640187740326, + -0.22483718395233154, + -0.16548454761505127, + -0.1541452556848526, + 0.042406950145959854, + -0.16628682613372803, + -0.257487416267395, + -0.41565853357315063, + 0.0 + ], + [ + -0.1017741784453392, + -0.09800738096237183, + 0.012208248488605022, + 0.08998120576143265, + 0.17996229231357574, + 0.04348638281226158, + -0.07909044623374939, + -0.09540726989507675, + 0.013694461435079575, + 0.1558045744895935, + 0.10954723507165909, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2720, + "temp_size_in_bytes": 46616 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 484, + "estimated_energy_flops": 35844, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35844, + "total_backward_flops": 71492, + "total_flops": 107336, + "total_traffic_elements": 30111, + "total_traffic_bytes": 240888, + "peak_role_residual_elements": 2156, + "static_score": 262276, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 45888, + "recomputable_bytes": 40912, + "bytes_by_category": { + "primitive:scan": 29824, + "primitive:dot_general": 6784, + "constant": 4640, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:conj": 848, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 336, + "primitive:concatenate": 224, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.029776457999105, + "first_execute_seconds": 0.010558749996562256, + "warm_seconds_median": 0.0016740829996706452, + "warm_seconds_mad": 0.00043112500134157017, + "peak_rss_bytes": 355598336, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.831523681368828e-06, + "valid": true, + "failure": null, + "worker_pid": 48613, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.0729302391409874, + -0.04737120121717453, + -0.05892036855220795, + -0.1389407515525818, + -0.17407852411270142, + -0.2856510281562805, + -0.044431693851947784, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.01131331454962492, + 0.0018172565614804626, + -0.05270257964730263, + -0.0764603242278099, + 0.04319680482149124, + 0.019278664141893387, + -0.1522473394870758, + -0.20906466245651245, + -0.022942908108234406, + 0.19368690252304077, + 0.18352214992046356, + 0.05922207236289978 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275574654340744, + -0.2481684386730194, + -0.1877640187740326, + -0.2248372733592987, + -0.16548451781272888, + -0.1541452705860138, + 0.04240693897008896, + -0.1662868857383728, + -0.25748735666275024, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800737351179123, + 0.012208323925733566, + 0.08998111635446548, + 0.1799624115228653, + 0.04348644241690636, + -0.07909026741981506, + -0.09540725499391556, + 0.013694550842046738, + 0.15580445528030396, + 0.10954708606004715, + 0.03910835087299347 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 43032 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 484, + "estimated_energy_flops": 35844, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35844, + "total_backward_flops": 71492, + "total_flops": 107336, + "total_traffic_elements": 30111, + "total_traffic_bytes": 240888, + "peak_role_residual_elements": 2156, + "static_score": 262276, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 40296, + "recomputable_bytes": 39064, + "bytes_by_category": { + "primitive:scan": 25984, + "primitive:dot_general": 6080, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 960, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 288, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.0581195410013606, + "first_execute_seconds": 0.00258462499914458, + "warm_seconds_median": 0.0009807080023165327, + "warm_seconds_mad": 0.00011833300231955945, + "peak_rss_bytes": 290684928, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 48785, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 772, + "temp_size_in_bytes": 34272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.071568583000044, + "first_execute_seconds": 0.002888334001909243, + "warm_seconds_median": 0.0007012909991317429, + "warm_seconds_mad": 3.608400220400654e-05, + "peak_rss_bytes": 245104640, + "energy_abs_error": 1.049041748046875e-05, + "gradient_relative_l2_error": 4.054011191862547e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.04904e-05, gradient=4.05401e-06", + "worker_pid": 48821, + "parent_pid": 45668, + "energy": -11.942817687988281, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302167892456, + -0.04737115651369095, + -0.058920230716466904, + -0.13894057273864746, + -0.17407839000225067, + -0.28565096855163574, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313370428979397, + 0.0018172565614804626, + -0.05270254984498024, + -0.07646042853593826, + 0.043196700513362885, + 0.019278790801763535, + -0.15224714577198029, + -0.20906448364257812, + -0.02294286899268627, + 0.19368690252304077, + 0.18352212011814117, + 0.0592220276594162 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275572419166565, + -0.2481684386730194, + -0.1877640038728714, + -0.22483718395233154, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628679633140564, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177407413721085, + -0.09800738096237183, + 0.012208188883960247, + 0.0899810865521431, + 0.17996229231357574, + 0.04348653182387352, + -0.07909035682678223, + -0.09540725499391556, + 0.013694476336240768, + 0.1558046191930771, + 0.1095472052693367, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3957, + "temp_size_in_bytes": 103552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 91312, + "recomputable_bytes": 88416, + "bytes_by_category": { + "primitive:scan": 78720, + "primitive:transpose": 4992, + "primitive:dot_general": 3328, + "constant": 2752, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6091157080008998, + "first_execute_seconds": 0.0020868339997832663, + "warm_seconds_median": 0.0006842080001661088, + "warm_seconds_mad": 1.162499756901525e-05, + "peak_rss_bytes": 279347200, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.049610291226778e-06, + "valid": true, + "failure": null, + "worker_pid": 48914, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737115651369095, + -0.0589202456176281, + -0.13894060254096985, + -0.1740783452987671, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172416603192687, + -0.05270252004265785, + -0.07646038383245468, + 0.043196775019168854, + 0.019278790801763535, + -0.15224730968475342, + -0.20906421542167664, + -0.02294287458062172, + 0.193686842918396, + 0.1835220456123352, + 0.0592220202088356 + ] + ], + [ + [ + 0.282527893781662, + -0.07275576144456863, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548439860343933, + -0.1541452407836914, + 0.042406827211380005, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800739586353302, + 0.012208249419927597, + 0.08998111635446548, + 0.1799624115228653, + 0.04348653182387352, + -0.07909047603607178, + -0.09540704637765884, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1081, + "temp_size_in_bytes": 34800 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 30368, + "recomputable_bytes": 29968, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1254878330000793, + "first_execute_seconds": 0.004697415999544319, + "warm_seconds_median": 0.000852166998811299, + "warm_seconds_mad": 3.112500053248368e-05, + "peak_rss_bytes": 306331648, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.0551500035969886e-06, + "valid": true, + "failure": null, + "worker_pid": 48968, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.047371141612529755, + -0.0589202418923378, + -0.13894063234329224, + -0.1740783154964447, + -0.2856510281562805, + -0.0444316640496254, + -0.2880016267299652, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278783351182938, + -0.15224727988243103, + -0.20906424522399902, + -0.022942880168557167, + 0.1936868131160736, + 0.1835220456123352, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275575399398804, + -0.2481684535741806, + -0.1877640187740326, + -0.22483721375465393, + -0.16548436880111694, + -0.15414521098136902, + 0.042406823486089706, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.012208234518766403, + 0.08998111635446548, + 0.17996235191822052, + 0.04348650202155113, + -0.07909038662910461, + -0.09540706127882004, + 0.013694453984498978, + 0.15580454468727112, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 796, + "temp_size_in_bytes": 43744 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 28784, + "recomputable_bytes": 28384, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.8632464580005035, + "first_execute_seconds": 0.0022672080012853257, + "warm_seconds_median": 0.0007086659970809706, + "warm_seconds_mad": 6.520799797726795e-05, + "peak_rss_bytes": 328499200, + "energy_abs_error": 1.049041748046875e-05, + "gradient_relative_l2_error": 4.054011191862547e-06, + "valid": false, + "failure": "correctness tolerance exceeded: energy=1.04904e-05, gradient=4.05401e-06", + "worker_pid": 49070, + "parent_pid": 45668, + "energy": -11.942817687988281, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.0729302167892456, + -0.04737115651369095, + -0.058920230716466904, + -0.13894057273864746, + -0.17407839000225067, + -0.28565096855163574, + -0.0444316640496254, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313370428979397, + 0.0018172565614804626, + -0.05270254984498024, + -0.07646042853593826, + 0.043196700513362885, + 0.019278790801763535, + -0.15224714577198029, + -0.20906448364257812, + -0.02294286899268627, + 0.19368690252304077, + 0.18352212011814117, + 0.0592220276594162 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275572419166565, + -0.2481684386730194, + -0.1877640038728714, + -0.22483718395233154, + -0.16548442840576172, + -0.1541452556848526, + 0.042406875640153885, + -0.16628679633140564, + -0.2574872672557831, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177407413721085, + -0.09800738096237183, + 0.012208188883960247, + 0.0899810865521431, + 0.17996229231357574, + 0.04348653182387352, + -0.07909035682678223, + -0.09540725499391556, + 0.013694476336240768, + 0.1558046191930771, + 0.1095472052693367, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3981, + "temp_size_in_bytes": 157240 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 91312, + "recomputable_bytes": 88416, + "bytes_by_category": { + "primitive:scan": 78720, + "primitive:transpose": 4992, + "primitive:dot_general": 3328, + "constant": 2752, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1924238329993386, + "first_execute_seconds": 0.0026158750006288756, + "warm_seconds_median": 0.0006900830012455117, + "warm_seconds_mad": 8.195800182875246e-05, + "peak_rss_bytes": 345817088, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 4.049610291226778e-06, + "valid": true, + "failure": null, + "worker_pid": 49195, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737115651369095, + -0.0589202456176281, + -0.13894060254096985, + -0.1740783452987671, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.3262191414833069, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172416603192687, + -0.05270252004265785, + -0.07646038383245468, + 0.043196775019168854, + 0.019278790801763535, + -0.15224730968475342, + -0.20906421542167664, + -0.02294287458062172, + 0.193686842918396, + 0.1835220456123352, + 0.0592220202088356 + ] + ], + [ + [ + 0.282527893781662, + -0.07275576144456863, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548439860343933, + -0.1541452407836914, + 0.042406827211380005, + -0.16628682613372803, + -0.2574872374534607, + -0.4156584143638611, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800739586353302, + 0.012208249419927597, + 0.08998111635446548, + 0.1799624115228653, + 0.04348653182387352, + -0.07909047603607178, + -0.09540704637765884, + 0.013694461435079575, + 0.1558045744895935, + 0.10954708606004715, + 0.0391082838177681 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1105, + "temp_size_in_bytes": 46856 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 35944, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 35944, + "total_backward_flops": 71688, + "total_flops": 107632, + "total_traffic_elements": 31707, + "total_traffic_bytes": 253656, + "peak_role_residual_elements": 552, + "static_score": 243292, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 30368, + "recomputable_bytes": 29968, + "bytes_by_category": { + "primitive:scan": 24960, + "primitive:dot_general": 2048, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9293285419989843, + "first_execute_seconds": 0.0018819590004568454, + "warm_seconds_median": 0.0007239170008688234, + "warm_seconds_mad": 4.8207999498117715e-05, + "peak_rss_bytes": 328450048, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 49302, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 48864 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9687165420000383, + "first_execute_seconds": 0.0023647500020160805, + "warm_seconds_median": 0.0007248330002767034, + "warm_seconds_mad": 1.6791000234661624e-05, + "peak_rss_bytes": 311885824, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.071423192190223e-06, + "valid": true, + "failure": null, + "worker_pid": 49368, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293014973402023, + -0.04737117141485214, + -0.05892012268304825, + -0.13894063234329224, + -0.17407840490341187, + -0.2856513559818268, + -0.04443172365427017, + -0.2880015969276428, + -0.3262191414833069, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313367635011673, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646041363477707, + 0.04319668561220169, + 0.019278746098279953, + -0.15224727988243103, + -0.20906442403793335, + -0.022942740470170975, + 0.1936868131160736, + 0.1835220456123352, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275565713644028, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844433069229, + -0.15414513647556305, + 0.04240690544247627, + -0.16628672182559967, + -0.2574872374534607, + -0.4156586825847626, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208174914121628, + 0.08998114615678787, + 0.17996226251125336, + 0.04348650202155113, + -0.07909029722213745, + -0.09540721029043198, + 0.013694625347852707, + 0.15580447018146515, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3777, + "temp_size_in_bytes": 55552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 44624, + "recomputable_bytes": 41600, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:transpose": 4992, + "primitive:dot_general": 4544, + "constant": 2880, + "primitive:stack": 448, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1013546670001233, + "first_execute_seconds": 0.007130666999728419, + "warm_seconds_median": 0.0012252500018803403, + "warm_seconds_mad": 0.00010700000348151661, + "peak_rss_bytes": 294518784, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.042396243580371e-06, + "valid": true, + "failure": null, + "worker_pid": 49415, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293014973402023, + -0.04737117141485214, + -0.05892012268304825, + -0.13894063234329224, + -0.17407840490341187, + -0.2856513559818268, + -0.04443172365427017, + -0.2880015969276428, + -0.3262191414833069, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313308961689472, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646041363477707, + 0.04319668561220169, + 0.019278746098279953, + -0.15224727988243103, + -0.20906442403793335, + -0.022942740470170975, + 0.1936868131160736, + 0.1835220456123352, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275565713644028, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844433069229, + -0.15414513647556305, + 0.04240690544247627, + -0.16628672182559967, + -0.2574872374534607, + -0.4156586825847626, + 0.0 + ], + [ + -0.10177379101514816, + -0.09800733625888824, + 0.012208174914121628, + 0.08998114615678787, + 0.17996226251125336, + 0.04348650202155113, + -0.07909029722213745, + -0.09540721029043198, + 0.013694625347852707, + 0.15580447018146515, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 49392 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 37440, + "recomputable_bytes": 36912, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.108238917000563, + "first_execute_seconds": 0.0043071670006611384, + "warm_seconds_median": 0.0012355830003798474, + "warm_seconds_mad": 0.0001098749999073334, + "peak_rss_bytes": 225787904, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.065389339380992e-06, + "valid": true, + "failure": null, + "worker_pid": 49468, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.525873601436615, + 0.07293012738227844, + -0.047371186316013336, + -0.05892016738653183, + -0.13894061744213104, + -0.17407840490341187, + -0.28565123677253723, + -0.044431693851947784, + -0.28800156712532043, + -0.3262191414833069, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313368566334248, + 0.001817211857996881, + -0.052702609449625015, + -0.07646044343709946, + 0.043196626007556915, + 0.01927875354886055, + -0.15224730968475342, + -0.20906445384025574, + -0.02294275350868702, + 0.19368678331375122, + 0.18352201581001282, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275568693876266, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844880104065, + -0.15414513647556305, + 0.042406920343637466, + -0.16628673672676086, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800734370946884, + 0.01220814511179924, + 0.08998114615678787, + 0.1799621433019638, + 0.04348653182387352, + -0.07909032702445984, + -0.09540721029043198, + 0.01369459554553032, + 0.15580441057682037, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43984 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 35856, + "recomputable_bytes": 35328, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.173953249999613, + "first_execute_seconds": 0.016074582999863196, + "warm_seconds_median": 0.0008182080018741544, + "warm_seconds_mad": 5.3208001190796494e-05, + "peak_rss_bytes": 242630656, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.071423192190223e-06, + "valid": true, + "failure": null, + "worker_pid": 49589, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293014973402023, + -0.04737117141485214, + -0.05892012268304825, + -0.13894063234329224, + -0.17407840490341187, + -0.2856513559818268, + -0.04443172365427017, + -0.2880015969276428, + -0.3262191414833069, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313367635011673, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646041363477707, + 0.04319668561220169, + 0.019278746098279953, + -0.15224727988243103, + -0.20906442403793335, + -0.022942740470170975, + 0.1936868131160736, + 0.1835220456123352, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275565713644028, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844433069229, + -0.15414513647556305, + 0.04240690544247627, + -0.16628672182559967, + -0.2574872374534607, + -0.4156586825847626, + 0.0 + ], + [ + -0.10177401453256607, + -0.09800733625888824, + 0.012208174914121628, + 0.08998114615678787, + 0.17996226251125336, + 0.04348650202155113, + -0.07909029722213745, + -0.09540721029043198, + 0.013694625347852707, + 0.15580447018146515, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2816, + "temp_size_in_bytes": 53584 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 44624, + "recomputable_bytes": 41600, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:transpose": 4992, + "primitive:dot_general": 4544, + "constant": 2880, + "primitive:stack": 448, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.454630667001766, + "first_execute_seconds": 0.005558458000450628, + "warm_seconds_median": 0.0006894580001244321, + "warm_seconds_mad": 2.3749998945277184e-05, + "peak_rss_bytes": 354729984, + "energy_abs_error": 3.814697265625e-06, + "gradient_relative_l2_error": 4.042396243580371e-06, + "valid": true, + "failure": null, + "worker_pid": 49728, + "parent_pid": 45668, + "energy": -11.942824363708496, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293014973402023, + -0.04737117141485214, + -0.05892012268304825, + -0.13894063234329224, + -0.17407840490341187, + -0.2856513559818268, + -0.04443172365427017, + -0.2880015969276428, + -0.3262191414833069, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313308961689472, + 0.0018172416603192687, + -0.05270254984498024, + -0.07646041363477707, + 0.04319668561220169, + 0.019278746098279953, + -0.15224727988243103, + -0.20906442403793335, + -0.022942740470170975, + 0.1936868131160736, + 0.1835220456123352, + 0.05922195315361023 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275565713644028, + -0.24816825985908508, + -0.1877637803554535, + -0.22483709454536438, + -0.1654844433069229, + -0.15414513647556305, + 0.04240690544247627, + -0.16628672182559967, + -0.2574872374534607, + -0.4156586825847626, + 0.0 + ], + [ + -0.10177379101514816, + -0.09800733625888824, + 0.012208174914121628, + 0.08998114615678787, + 0.17996226251125336, + 0.04348650202155113, + -0.07909029722213745, + -0.09540721029043198, + 0.013694625347852707, + 0.15580447018146515, + 0.10954705625772476, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 46736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 57384, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 57384, + "total_backward_flops": 114568, + "total_flops": 171952, + "total_traffic_elements": 39147, + "total_traffic_bytes": 313176, + "peak_role_residual_elements": 1352, + "static_score": 350172, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 37440, + "recomputable_bytes": 36912, + "bytes_by_category": { + "primitive:scan": 30720, + "primitive:dot_general": 3264, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.0420712089980952, + "first_execute_seconds": 0.004170707998127909, + "warm_seconds_median": 0.0009085000019695144, + "warm_seconds_mad": 3.80830024369061e-05, + "peak_rss_bytes": 319537152, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 49864, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 70120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.990860000001703, + "first_execute_seconds": 0.00266725000255974, + "warm_seconds_median": 0.0009059160001925193, + "warm_seconds_mad": 9.724900155561045e-05, + "peak_rss_bytes": 320864256, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.8721687697471056e-06, + "valid": true, + "failure": null, + "worker_pid": 49973, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293030619621277, + -0.047371141612529755, + -0.058920178562402725, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.044431574642658234, + -0.2880018353462219, + -0.32621946930885315, + -0.38711023330688477, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172714626416564, + -0.052702490240335464, + -0.07646030932664871, + 0.04319673031568527, + 0.019278768450021744, + -0.15224725008010864, + -0.20906463265419006, + -0.022942829877138138, + 0.19368696212768555, + 0.18352219462394714, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275581359863281, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548436880111694, + -0.15414509177207947, + 0.042406823486089706, + -0.16628704965114594, + -0.25748732686042786, + -0.41565877199172974, + 0.0 + ], + [ + -0.10177416354417801, + -0.09800739586353302, + 0.01220821961760521, + 0.08998117595911026, + 0.1799623817205429, + 0.043486591428518295, + -0.0790901780128479, + -0.09540729969739914, + 0.013694476336240768, + 0.15580475330352783, + 0.10954717546701431, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4545, + "temp_size_in_bytes": 83336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 62416, + "recomputable_bytes": 57792, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:transpose": 11520, + "primitive:dot_general": 5568, + "constant": 4384, + "primitive:stack": 704, + "primitive:conj": 688, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1913047499983804, + "first_execute_seconds": 0.005539542002225062, + "warm_seconds_median": 0.0010048749973066151, + "warm_seconds_mad": 6.200000279932283e-05, + "peak_rss_bytes": 269729792, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.8995358848408105e-06, + "valid": true, + "failure": null, + "worker_pid": 50029, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738398551941, + 0.07293029874563217, + -0.04737115651369095, + -0.05892015993595123, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018651485443, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.052702490240335464, + -0.07646036893129349, + 0.04319671541452408, + 0.019278790801763535, + -0.15224726498126984, + -0.2090645134449005, + -0.022942764684557915, + 0.19368702173233032, + 0.18352217972278595, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.24816854298114777, + -0.1877639889717102, + -0.22483724355697632, + -0.16548432409763336, + -0.15414510667324066, + 0.04240680858492851, + -0.16628700494766235, + -0.257487416267395, + -0.41565871238708496, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800740331411362, + 0.012208204716444016, + 0.08998114615678787, + 0.1799623817205429, + 0.043486591428518295, + -0.07909026741981506, + -0.09540725499391556, + 0.01369454339146614, + 0.15580478310585022, + 0.10954717546701431, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 73336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 49400, + "recomputable_bytes": 48520, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.033717458998581, + "first_execute_seconds": 0.004214708998915739, + "warm_seconds_median": 0.0006013750025886111, + "warm_seconds_mad": 3.666700285975821e-05, + "peak_rss_bytes": 309460992, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.876063944077213e-06, + "valid": true, + "failure": null, + "worker_pid": 50109, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293029129505157, + -0.04737117141485214, + -0.05892018601298332, + -0.13894063234329224, + -0.1740783452987671, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018353462219, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.05270252004265785, + -0.07646036893129349, + 0.04319668561220169, + 0.01927867904305458, + -0.15224730968475342, + -0.2090645432472229, + -0.022942878305912018, + 0.19368696212768555, + 0.18352220952510834, + 0.05922196805477142 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275578379631042, + -0.24816852807998657, + -0.18776395916938782, + -0.2248372733592987, + -0.16548436880111694, + -0.15414512157440186, + 0.0424068309366703, + -0.1662869155406952, + -0.25748732686042786, + -0.41565874218940735, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800741076469421, + 0.012208189815282822, + 0.0899810865521431, + 0.17996235191822052, + 0.04348656162619591, + -0.07909032702445984, + -0.09540725499391556, + 0.013694453984498978, + 0.15580466389656067, + 0.10954723507165909, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 58136 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 281, + "total_bytes": 47024, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.611013207999349, + "first_execute_seconds": 0.0044230829989828635, + "warm_seconds_median": 0.0006842500006314367, + "warm_seconds_mad": 0.00010616699728416279, + "peak_rss_bytes": 242728960, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.8721687697471056e-06, + "valid": true, + "failure": null, + "worker_pid": 50218, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293030619621277, + -0.047371141612529755, + -0.058920178562402725, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.044431574642658234, + -0.2880018353462219, + -0.32621946930885315, + -0.38711023330688477, + 0.0 + ], + [ + -0.011313430964946747, + 0.0018172714626416564, + -0.052702490240335464, + -0.07646030932664871, + 0.04319673031568527, + 0.019278768450021744, + -0.15224725008010864, + -0.20906463265419006, + -0.022942829877138138, + 0.19368696212768555, + 0.18352219462394714, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275581359863281, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548436880111694, + -0.15414509177207947, + 0.042406823486089706, + -0.16628704965114594, + -0.25748732686042786, + -0.41565877199172974, + 0.0 + ], + [ + -0.10177416354417801, + -0.09800739586353302, + 0.01220821961760521, + 0.08998117595911026, + 0.1799623817205429, + 0.043486591428518295, + -0.0790901780128479, + -0.09540729969739914, + 0.013694476336240768, + 0.15580475330352783, + 0.10954717546701431, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3392, + "temp_size_in_bytes": 92248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 290, + "total_bytes": 62416, + "recomputable_bytes": 57792, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:transpose": 11520, + "primitive:dot_general": 5568, + "constant": 4384, + "primitive:stack": 704, + "primitive:conj": 688, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.257271457998286, + "first_execute_seconds": 0.0032438329981232528, + "warm_seconds_median": 0.0008010839992493857, + "warm_seconds_mad": 9.275099728256464e-05, + "peak_rss_bytes": 238485504, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 3.8995358848408105e-06, + "valid": true, + "failure": null, + "worker_pid": 50335, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258738398551941, + 0.07293029874563217, + -0.04737115651369095, + -0.05892015993595123, + -0.13894063234329224, + -0.1740783154964447, + -0.2856513559818268, + -0.0444316640496254, + -0.2880018651485443, + -0.32621943950653076, + -0.38711026310920715, + 0.0 + ], + [ + -0.011313432827591896, + 0.0018172789132222533, + -0.052702490240335464, + -0.07646036893129349, + 0.04319671541452408, + 0.019278790801763535, + -0.15224726498126984, + -0.2090645134449005, + -0.022942764684557915, + 0.19368702173233032, + 0.18352217972278595, + 0.05922199785709381 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.24816854298114777, + -0.1877639889717102, + -0.22483724355697632, + -0.16548432409763336, + -0.15414510667324066, + 0.04240680858492851, + -0.16628700494766235, + -0.257487416267395, + -0.41565871238708496, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800740331411362, + 0.012208204716444016, + 0.08998114615678787, + 0.1799623817205429, + 0.043486591428518295, + -0.07909026741981506, + -0.09540725499391556, + 0.01369454339146614, + 0.15580478310585022, + 0.10954717546701431, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 59736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 3456, + "last_path_flops": 696, + "estimated_energy_flops": 84424, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 84424, + "total_backward_flops": 168648, + "total_flops": 253072, + "total_traffic_elements": 49563, + "total_traffic_bytes": 396504, + "peak_role_residual_elements": 2648, + "static_score": 493692, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 296, + "total_bytes": 49400, + "recomputable_bytes": 48520, + "bytes_by_category": { + "primitive:scan": 37824, + "primitive:dot_general": 5440, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 704, + "primitive:conj": 688, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.5852480419998756, + "first_execute_seconds": 0.0032426670004497282, + "warm_seconds_median": 0.0010121670020453166, + "warm_seconds_mad": 8.97919999260921e-05, + "peak_rss_bytes": 351862784, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 50445, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 110760 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.407399125000666, + "first_execute_seconds": 0.003865833001327701, + "warm_seconds_median": 0.0010600000023259781, + "warm_seconds_mad": 7.137500142562203e-05, + "peak_rss_bytes": 300974080, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.585592338904985e-06, + "valid": true, + "failure": null, + "worker_pid": 50516, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293020188808441, + -0.047371067106723785, + -0.05892015993595123, + -0.13894054293632507, + -0.1740783154964447, + -0.2856507897377014, + -0.04443133994936943, + -0.28800147771835327, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313483119010925, + 0.0018172640120610595, + -0.052702758461236954, + -0.0764605924487114, + 0.04319649189710617, + 0.019278954714536667, + -0.15224702656269073, + -0.20906415581703186, + -0.02294270321726799, + 0.19368663430213928, + 0.18352185189723969, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252753615379333, + -0.07275567203760147, + -0.24816815555095673, + -0.18776394426822662, + -0.22483697533607483, + -0.16548436880111694, + -0.15414510667324066, + 0.04240717738866806, + -0.1662866473197937, + -0.25748714804649353, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177410393953323, + -0.09800752997398376, + 0.012208367697894573, + 0.08998120576143265, + 0.1799621731042862, + 0.043486587703228, + -0.07909002900123596, + -0.09540694206953049, + 0.013694625347852707, + 0.1558043658733368, + 0.10954690724611282, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3889, + "temp_size_in_bytes": 120392 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 74992, + "recomputable_bytes": 70016, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11968, + "primitive:transpose": 5376, + "constant": 4640, + "primitive:conj": 1008, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.232592374999513, + "first_execute_seconds": 0.007201332999102306, + "warm_seconds_median": 0.0012802919991372619, + "warm_seconds_mad": 8.075100049609318e-05, + "peak_rss_bytes": 256360448, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.474638477340661e-06, + "valid": true, + "failure": null, + "worker_pid": 50606, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293020188808441, + -0.047371067106723785, + -0.05892015993595123, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431399554014206, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313127353787422, + 0.0018172640120610595, + -0.052702758461236954, + -0.0764605924487114, + 0.04319649189710617, + 0.019278932362794876, + -0.15224705636501312, + -0.20906421542167664, + -0.022942673414945602, + 0.19368669390678406, + 0.18352197110652924, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275567203760147, + -0.24816815555095673, + -0.18776394426822662, + -0.22483697533607483, + -0.16548433899879456, + -0.15414510667324066, + 0.04240711033344269, + -0.1662866473197937, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177373141050339, + -0.09800752997398376, + 0.012208367697894573, + 0.08998120576143265, + 0.1799621731042862, + 0.04348655790090561, + -0.07909008860588074, + -0.09540700167417526, + 0.013694670051336288, + 0.1558043658733368, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1109, + "temp_size_in_bytes": 113720 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 67352, + "recomputable_bytes": 66120, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.233333249998395, + "first_execute_seconds": 0.004656458997487789, + "warm_seconds_median": 0.0010122919993591495, + "warm_seconds_mad": 0.00014983299843152054, + "peak_rss_bytes": 232669184, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.458121473350309e-06, + "valid": true, + "failure": null, + "worker_pid": 50712, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293019443750381, + -0.04737109690904617, + -0.05892017483711243, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431429356336594, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313305236399174, + 0.0018172565614804626, + -0.052702758461236954, + -0.07646054774522781, + 0.04319659620523453, + 0.01927890256047249, + -0.15224705636501312, + -0.20906415581703186, + -0.022942697629332542, + 0.19368669390678406, + 0.18352195620536804, + 0.05922197550535202 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275572419166565, + -0.24816817045211792, + -0.18776392936706543, + -0.2248370200395584, + -0.16548427939414978, + -0.15414510667324066, + 0.0424070879817009, + -0.1662866473197937, + -0.25748711824417114, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800752997398376, + 0.012208382599055767, + 0.08998123556375504, + 0.17996223270893097, + 0.04348652809858322, + -0.07909005880355835, + -0.09540706127882004, + 0.013694632798433304, + 0.1558043360710144, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 95320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 64976, + "recomputable_bytes": 63744, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.939426875000208, + "first_execute_seconds": 0.0035826669991365634, + "warm_seconds_median": 0.0006142919992271345, + "warm_seconds_mad": 1.8292001186637208e-05, + "peak_rss_bytes": 261799936, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 4.585592338904985e-06, + "valid": true, + "failure": null, + "worker_pid": 50798, + "parent_pid": 45668, + "energy": -11.942821502685547, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293020188808441, + -0.047371067106723785, + -0.05892015993595123, + -0.13894054293632507, + -0.1740783154964447, + -0.2856507897377014, + -0.04443133994936943, + -0.28800147771835327, + -0.3262190520763397, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313483119010925, + 0.0018172640120610595, + -0.052702758461236954, + -0.0764605924487114, + 0.04319649189710617, + 0.019278954714536667, + -0.15224702656269073, + -0.20906415581703186, + -0.02294270321726799, + 0.19368663430213928, + 0.18352185189723969, + 0.05922200530767441 + ] + ], + [ + [ + 0.28252753615379333, + -0.07275567203760147, + -0.24816815555095673, + -0.18776394426822662, + -0.22483697533607483, + -0.16548436880111694, + -0.15414510667324066, + 0.04240717738866806, + -0.1662866473197937, + -0.25748714804649353, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177410393953323, + -0.09800752997398376, + 0.012208367697894573, + 0.08998120576143265, + 0.1799621731042862, + 0.043486587703228, + -0.07909002900123596, + -0.09540694206953049, + 0.013694625347852707, + 0.1558043658733368, + 0.10954690724611282, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2816, + "temp_size_in_bytes": 92032 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 74992, + "recomputable_bytes": 70016, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11968, + "primitive:transpose": 5376, + "constant": 4640, + "primitive:conj": 1008, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.7454757080013223, + "first_execute_seconds": 0.0021792080005980097, + "warm_seconds_median": 0.0005789169990748633, + "warm_seconds_mad": 2.599999788799323e-05, + "peak_rss_bytes": 327024640, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 4.474638477340661e-06, + "valid": true, + "failure": null, + "worker_pid": 50891, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258734226226807, + 0.07293020188808441, + -0.047371067106723785, + -0.05892015993595123, + -0.13894054293632507, + -0.17407827079296112, + -0.2856508493423462, + -0.044431399554014206, + -0.28800147771835327, + -0.3262190818786621, + -0.3871099352836609, + 0.0 + ], + [ + -0.011313127353787422, + 0.0018172640120610595, + -0.052702758461236954, + -0.0764605924487114, + 0.04319649189710617, + 0.019278932362794876, + -0.15224705636501312, + -0.20906421542167664, + -0.022942673414945602, + 0.19368669390678406, + 0.18352197110652924, + 0.05922198295593262 + ] + ], + [ + [ + 0.2825275659561157, + -0.07275567203760147, + -0.24816815555095673, + -0.18776394426822662, + -0.22483697533607483, + -0.16548433899879456, + -0.15414510667324066, + 0.04240711033344269, + -0.1662866473197937, + -0.2574871778488159, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177373141050339, + -0.09800752997398376, + 0.012208367697894573, + 0.08998120576143265, + 0.1799621731042862, + 0.04348655790090561, + -0.07909008860588074, + -0.09540700167417526, + 0.013694670051336288, + 0.1558043658733368, + 0.10954705625772476, + 0.039108168333768845 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 85016 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 148712, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 148712, + "total_backward_flops": 297224, + "total_flops": 445936, + "total_traffic_elements": 71115, + "total_traffic_bytes": 568920, + "peak_role_residual_elements": 5368, + "static_score": 816284, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 67352, + "recomputable_bytes": 66120, + "bytes_by_category": { + "primitive:scan": 49408, + "primitive:dot_general": 11072, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.0657093340014399, + "first_execute_seconds": 0.0022346669975377154, + "warm_seconds_median": 0.0006919169973116368, + "warm_seconds_mad": 5.479199535329826e-05, + "peak_rss_bytes": 316014592, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.819155179973546e-06, + "valid": true, + "failure": null, + "worker_pid": 50960, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.072930246591568, + -0.047371186316013336, + -0.05892021954059601, + -0.138940691947937, + -0.17407844960689545, + -0.28565114736557007, + -0.04443163424730301, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.011313255876302719, + 0.0018172491108998656, + -0.05270257964730263, + -0.07646044343709946, + 0.04319678992033005, + 0.01927873119711876, + -0.15224739909172058, + -0.2090645730495453, + -0.02294290065765381, + 0.19368687272071838, + 0.18352216482162476, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.2481684684753418, + -0.18776395916938782, + -0.2248372733592987, + -0.16548451781272888, + -0.15414543449878693, + 0.04240686446428299, + -0.1662868857383728, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177399963140488, + -0.0980074554681778, + 0.012208309024572372, + 0.08998114615678787, + 0.17996235191822052, + 0.043486472219228745, + -0.07909032702445984, + -0.0954071655869484, + 0.013694453984498978, + 0.1558045595884323, + 0.10954708606004715, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 780, + "temp_size_in_bytes": 42472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 134, + "total_bytes": 36256, + "recomputable_bytes": 35856, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 1248, + "primitive:stack": 448, + "primitive:conj": 400, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.26694658300039, + "first_execute_seconds": 0.003328583999973489, + "warm_seconds_median": 0.0006672499985143077, + "warm_seconds_mad": 6.979099998716265e-05, + "peak_rss_bytes": 294404096, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 3.900303562003266e-06, + "valid": true, + "failure": null, + "worker_pid": 50984, + "parent_pid": 45668, + "energy": -11.94282341003418, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737111181020737, + -0.05892021581530571, + -0.13894063234329224, + -0.1740783452987671, + -0.28565096855163574, + -0.044431693851947784, + -0.2880016565322876, + -0.3262191712856293, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313073337078094, + 0.0018172640120610595, + -0.052702609449625015, + -0.07646038383245468, + 0.04319676011800766, + 0.019278671592473984, + -0.15224729478359222, + -0.2090645134449005, + -0.022942882031202316, + 0.19368690252304077, + 0.18352213501930237, + 0.059222012758255005 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275575399398804, + -0.24816834926605225, + -0.18776386976242065, + -0.22483716905117035, + -0.16548442840576172, + -0.15414519608020782, + 0.0424068346619606, + -0.16628679633140564, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177380591630936, + -0.09800735116004944, + 0.01220827829092741, + 0.08998114615678787, + 0.17996229231357574, + 0.04348644241690636, + -0.07909035682678223, + -0.09540710598230362, + 0.013694476336240768, + 0.15580454468727112, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4437, + "temp_size_in_bytes": 45392 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 40944, + "recomputable_bytes": 38048, + "bytes_by_category": { + "primitive:scan": 33472, + "constant": 2752, + "primitive:transpose": 1536, + "primitive:dot_general": 1504, + "primitive:stack": 448, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9985926669978653, + "first_execute_seconds": 0.0017953749993466772, + "warm_seconds_median": 0.0006359580002026632, + "warm_seconds_mad": 3.766699956031516e-05, + "peak_rss_bytes": 280723456, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.791845650950816e-06, + "valid": true, + "failure": null, + "worker_pid": 51012, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.138940691947937, + -0.17407843470573425, + -0.28565114736557007, + -0.0444316640496254, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.011313255876302719, + 0.0018172491108998656, + -0.05270257964730263, + -0.07646044343709946, + 0.04319678992033005, + 0.01927873119711876, + -0.15224741399288177, + -0.20906463265419006, + -0.022942902520298958, + 0.19368687272071838, + 0.18352213501930237, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275577634572983, + -0.248168483376503, + -0.18776395916938782, + -0.2248372584581375, + -0.16548451781272888, + -0.15414544939994812, + 0.04240685701370239, + -0.166286900639534, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177401453256607, + -0.0980074554681778, + 0.012208323925733566, + 0.08998120576143265, + 0.1799623817205429, + 0.04348641261458397, + -0.07909032702445984, + -0.09540713578462601, + 0.013694453984498978, + 0.1558045744895935, + 0.10954708606004715, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1089, + "temp_size_in_bytes": 43448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 144, + "total_bytes": 37840, + "recomputable_bytes": 37440, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 1248, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:conj": 400, + "primitive:reshape": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.993958625000232, + "first_execute_seconds": 0.014487083000858547, + "warm_seconds_median": 0.000673333001032006, + "warm_seconds_mad": 1.6999001672957093e-05, + "peak_rss_bytes": 341508096, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.819155179973546e-06, + "valid": true, + "failure": null, + "worker_pid": 51036, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.072930246591568, + -0.047371186316013336, + -0.05892021954059601, + -0.138940691947937, + -0.17407844960689545, + -0.28565114736557007, + -0.04443163424730301, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.011313255876302719, + 0.0018172491108998656, + -0.05270257964730263, + -0.07646044343709946, + 0.04319678992033005, + 0.01927873119711876, + -0.15224739909172058, + -0.2090645730495453, + -0.02294290065765381, + 0.19368687272071838, + 0.18352216482162476, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.2481684684753418, + -0.18776395916938782, + -0.2248372733592987, + -0.16548451781272888, + -0.15414543449878693, + 0.04240686446428299, + -0.1662868857383728, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177399963140488, + -0.0980074554681778, + 0.012208309024572372, + 0.08998114615678787, + 0.17996235191822052, + 0.043486472219228745, + -0.07909032702445984, + -0.0954071655869484, + 0.013694453984498978, + 0.1558045595884323, + 0.10954708606004715, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 54952 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 3840, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 134, + "total_bytes": 36256, + "recomputable_bytes": 35856, + "bytes_by_category": { + "primitive:scan": 33024, + "primitive:dot_general": 1248, + "primitive:stack": 448, + "primitive:conj": 400, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.958778792002704, + "first_execute_seconds": 0.008976417000667425, + "warm_seconds_median": 0.0011020000019925646, + "warm_seconds_mad": 6.654100070591085e-05, + "peak_rss_bytes": 298352640, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.8231576023997956e-06, + "valid": true, + "failure": null, + "worker_pid": 51105, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.0729302167892456, + -0.04737123101949692, + -0.05892021581530571, + -0.13894066214561462, + -0.17407841980457306, + -0.2856510579586029, + -0.0444316640496254, + -0.28800177574157715, + -0.3262192904949188, + -0.38711017370224, + 0.0 + ], + [ + -0.011313370428979397, + 0.0018172714626416564, + -0.05270252004265785, + -0.07646038383245468, + 0.04319671541452408, + 0.019278738647699356, + -0.1522473394870758, + -0.2090645432472229, + -0.022942889481782913, + 0.19368687272071838, + 0.18352214992046356, + 0.05922193080186844 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275572419166565, + -0.24816831946372986, + -0.18776385486125946, + -0.22483719885349274, + -0.1654844582080841, + -0.154145285487175, + 0.04240687936544418, + -0.16628685593605042, + -0.25748738646507263, + -0.41565877199172974, + 0.0 + ], + [ + -0.10177388042211533, + -0.09800736606121063, + 0.012208233587443829, + 0.08998114615678787, + 0.17996232211589813, + 0.04348644241690636, + -0.07909038662910461, + -0.09540712088346481, + 0.013694483786821365, + 0.1558045744895935, + 0.10954708606004715, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4461, + "temp_size_in_bytes": 61432 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 41584, + "recomputable_bytes": 38688, + "bytes_by_category": { + "primitive:scan": 35392, + "constant": 2752, + "primitive:dot_general": 992, + "primitive:transpose": 768, + "primitive:stack": 448, + "primitive:conj": 336, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.670307917000173, + "first_execute_seconds": 0.006628833001741441, + "warm_seconds_median": 0.0009218749983119778, + "warm_seconds_mad": 4.9584003136260435e-05, + "peak_rss_bytes": 313212928, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.791845650950816e-06, + "valid": true, + "failure": null, + "worker_pid": 51158, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.138940691947937, + -0.17407843470573425, + -0.28565114736557007, + -0.0444316640496254, + -0.2880018353462219, + -0.3262193202972412, + -0.38711017370224, + 0.0 + ], + [ + -0.011313255876302719, + 0.0018172491108998656, + -0.05270257964730263, + -0.07646044343709946, + 0.04319678992033005, + 0.01927873119711876, + -0.15224741399288177, + -0.20906463265419006, + -0.022942902520298958, + 0.19368687272071838, + 0.18352213501930237, + 0.059221990406513214 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275577634572983, + -0.248168483376503, + -0.18776395916938782, + -0.2248372584581375, + -0.16548451781272888, + -0.15414544939994812, + 0.04240685701370239, + -0.166286900639534, + -0.2574872672557831, + -0.4156586527824402, + 0.0 + ], + [ + -0.10177401453256607, + -0.0980074554681778, + 0.012208323925733566, + 0.08998120576143265, + 0.1799623817205429, + 0.04348641261458397, + -0.07909032702445984, + -0.09540713578462601, + 0.013694453984498978, + 0.1558045744895935, + 0.10954708606004715, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1113, + "temp_size_in_bytes": 57104 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 10, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 3152, + "bulk_block_path_flops": 3152, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 32576, + "modeled_checkpoint_boundaries": 10, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 32576, + "total_backward_flops": 64864, + "total_flops": 97440, + "total_traffic_elements": 32427, + "total_traffic_bytes": 259416, + "peak_role_residual_elements": 572, + "static_score": 236300, + "bulk_block_count": 10, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 144, + "total_bytes": 37840, + "recomputable_bytes": 37440, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 1248, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:conj": 400, + "primitive:reshape": 384, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8997550420026528, + "first_execute_seconds": 0.0027532500025699846, + "warm_seconds_median": 0.0008765410020714626, + "warm_seconds_mad": 4.237599569023587e-05, + "peak_rss_bytes": 332283904, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.007407456905934e-06, + "valid": true, + "failure": null, + "worker_pid": 51194, + "parent_pid": 45668, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737120121717453, + -0.05892028287053108, + -0.13894063234329224, + -0.17407839000225067, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313253082334995, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646041363477707, + 0.04319683462381363, + 0.01927870884537697, + -0.15224720537662506, + -0.20906448364257812, + -0.02294287644326687, + 0.19368690252304077, + 0.1835220456123352, + 0.05922194570302963 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275569438934326, + -0.24816837906837463, + -0.18776395916938782, + -0.22483715415000916, + -0.1654844582080841, + -0.15414518117904663, + 0.04240688681602478, + -0.16628681123256683, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800738096237183, + 0.012208322994410992, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909032702445984, + -0.09540718048810959, + 0.013694483786821365, + 0.15580451488494873, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 51680 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 177, + "total_bytes": 39376, + "recomputable_bytes": 38848, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1344, + "primitive:stack": 512, + "constant": 384, + "primitive:conj": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.2320020830011345, + "first_execute_seconds": 0.004493249998631654, + "warm_seconds_median": 0.0010081250002258457, + "warm_seconds_mad": 0.00012074999904143624, + "peak_rss_bytes": 315834368, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.953112885676151e-06, + "valid": true, + "failure": null, + "worker_pid": 51227, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293038070201874, + -0.04737112671136856, + -0.05892031267285347, + -0.13894066214561462, + -0.17407847940921783, + -0.2856510877609253, + -0.04443163424730301, + -0.28800168633461, + -0.3262191414833069, + -0.38711005449295044, + 0.0 + ], + [ + -0.011313074268400669, + 0.001817405573092401, + -0.05270252004265785, + -0.07646044343709946, + 0.04319676011800766, + 0.019278589636087418, + -0.15224725008010864, + -0.20906448364257812, + -0.02294287458062172, + 0.1936868131160736, + 0.18352197110652924, + 0.05922192335128784 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275573909282684, + -0.24816840887069702, + -0.18776404857635498, + -0.22483718395233154, + -0.16548454761505127, + -0.1541452258825302, + 0.042406875640153885, + -0.16628684103488922, + -0.25748705863952637, + -0.41565847396850586, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800732135772705, + 0.012208249419927597, + 0.08998111635446548, + 0.17996235191822052, + 0.043486323207616806, + -0.07909029722213745, + -0.09540706127882004, + 0.01369444653391838, + 0.15580454468727112, + 0.10954705625772476, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4737, + "temp_size_in_bytes": 47504 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 37200, + "recomputable_bytes": 34176, + "bytes_by_category": { + "primitive:scan": 29952, + "constant": 2880, + "primitive:dot_general": 1664, + "primitive:transpose": 768, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0149681250004505, + "first_execute_seconds": 0.0037439160005305894, + "warm_seconds_median": 0.0009432919978280552, + "warm_seconds_mad": 9.13339972612448e-05, + "peak_rss_bytes": 297730048, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.000677755557787e-06, + "valid": true, + "failure": null, + "worker_pid": 51272, + "parent_pid": 45668, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737120121717453, + -0.058920275419950485, + -0.13894066214561462, + -0.17407839000225067, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313253082334995, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646039873361588, + 0.043196775019168854, + 0.019278686493635178, + -0.15224722027778625, + -0.2090645134449005, + -0.022942880168557167, + 0.19368687272071838, + 0.1835220456123352, + 0.059221960604190826 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275569438934326, + -0.24816837906837463, + -0.1877639889717102, + -0.22483713924884796, + -0.1654844433069229, + -0.15414518117904663, + 0.04240689426660538, + -0.16628681123256683, + -0.2574871778488159, + -0.415658563375473, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800738841295242, + 0.012208294123411179, + 0.0899810865521431, + 0.17996223270893097, + 0.04348644241690636, + -0.07909032702445984, + -0.09540718048810959, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 52656 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 187, + "total_bytes": 40960, + "recomputable_bytes": 40432, + "bytes_by_category": { + "primitive:scan": 35360, + "primitive:dot_general": 1344, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 512, + "constant": 384, + "primitive:conj": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.877633374999277, + "first_execute_seconds": 0.0037459580016729888, + "warm_seconds_median": 0.0006891669981996529, + "warm_seconds_mad": 4.462599827093072e-05, + "peak_rss_bytes": 230883328, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.007407456905934e-06, + "valid": true, + "failure": null, + "worker_pid": 51325, + "parent_pid": 45668, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258737206459045, + 0.072930246591568, + -0.04737120121717453, + -0.05892028287053108, + -0.13894063234329224, + -0.17407839000225067, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313253082334995, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646041363477707, + 0.04319683462381363, + 0.01927870884537697, + -0.15224720537662506, + -0.20906448364257812, + -0.02294287644326687, + 0.19368690252304077, + 0.1835220456123352, + 0.05922194570302963 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275569438934326, + -0.24816837906837463, + -0.18776395916938782, + -0.22483715415000916, + -0.1654844582080841, + -0.15414518117904663, + 0.04240688681602478, + -0.16628681123256683, + -0.2574871778488159, + -0.41565853357315063, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800738096237183, + 0.012208322994410992, + 0.08998114615678787, + 0.17996223270893097, + 0.04348644241690636, + -0.07909032702445984, + -0.09540718048810959, + 0.013694483786821365, + 0.15580451488494873, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 47368 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 1920, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 177, + "total_bytes": 39376, + "recomputable_bytes": 38848, + "bytes_by_category": { + "primitive:scan": 35744, + "primitive:dot_general": 1344, + "primitive:stack": 512, + "constant": 384, + "primitive:conj": 384, + "primitive:convert_element_type": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 7.36616574999789, + "first_execute_seconds": 0.002428333998977905, + "warm_seconds_median": 0.0005888330015295651, + "warm_seconds_mad": 3.4249998861923814e-05, + "peak_rss_bytes": 342638592, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.964785860048403e-06, + "valid": true, + "failure": null, + "worker_pid": 51450, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258736610412598, + 0.07293020188808441, + -0.04737109690904617, + -0.058920156210660934, + -0.13894063234329224, + -0.17407846450805664, + -0.28565117716789246, + -0.04443172365427017, + -0.28800147771835327, + -0.3262192904949188, + -0.3871100842952728, + 0.0 + ], + [ + -0.011313367635011673, + 0.0018171969568356872, + -0.05270254984498024, + -0.07646045833826065, + 0.04319673031568527, + 0.01927870884537697, + -0.152247354388237, + -0.20906445384025574, + -0.02294294349849224, + 0.19368687272071838, + 0.18352200090885162, + 0.05922181159257889 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275579869747162, + -0.2481684386730194, + -0.1877639889717102, + -0.22483721375465393, + -0.16548442840576172, + -0.15414510667324066, + 0.04240680858492851, + -0.16628670692443848, + -0.2574872076511383, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177386552095413, + -0.09800742566585541, + 0.012208279222249985, + 0.08998114615678787, + 0.17996232211589813, + 0.04348638281226158, + -0.07909029722213745, + -0.09540726989507675, + 0.013694372028112411, + 0.1558045744895935, + 0.10954705625772476, + 0.03910810872912407 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 2240, + "temp_size_in_bytes": 44672 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 36432, + "recomputable_bytes": 33408, + "bytes_by_category": { + "primitive:scan": 30272, + "constant": 2880, + "primitive:dot_general": 1440, + "primitive:stack": 512, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 25, + 26 + ], + [ + 11, + 12 + ], + [ + 1, + 3 + ], + [ + 15, + 16 + ], + [ + 12, + 14 + ], + [ + 12, + 16 + ], + [ + 1, + 7 + ], + [ + 14, + 15 + ], + [ + 4, + 5 + ], + [ + 10, + 12 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 9, + 16 + ], + [ + 2, + 9 + ], + [ + 5, + 6 + ], + [ + 3, + 4 + ], + [ + 4, + 11 + ], + [ + 2, + 3 + ], + [ + 1, + 7 + ], + [ + 0, + 10 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 4, + 7 + ], + [ + 1, + 6 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 8.084586290999141, + "first_execute_seconds": 0.01051812500008964, + "warm_seconds_median": 0.0007719579989498015, + "warm_seconds_mad": 6.25829998170957e-05, + "peak_rss_bytes": 278986752, + "energy_abs_error": 7.62939453125e-06, + "gradient_relative_l2_error": 4.000677755557787e-06, + "valid": true, + "failure": null, + "worker_pid": 51626, + "parent_pid": 45668, + "energy": -11.94282054901123, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.072930246591568, + -0.04737120121717453, + -0.058920275419950485, + -0.13894066214561462, + -0.17407839000225067, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.3262192904949188, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313253082334995, + 0.0018172640120610595, + -0.05270252004265785, + -0.07646039873361588, + 0.043196775019168854, + 0.019278686493635178, + -0.15224722027778625, + -0.2090645134449005, + -0.022942880168557167, + 0.19368687272071838, + 0.1835220456123352, + 0.059221960604190826 + ] + ], + [ + [ + 0.28252777457237244, + -0.07275569438934326, + -0.24816837906837463, + -0.1877639889717102, + -0.22483713924884796, + -0.1654844433069229, + -0.15414518117904663, + 0.04240689426660538, + -0.16628681123256683, + -0.2574871778488159, + -0.415658563375473, + 0.0 + ], + [ + -0.1017739400267601, + -0.09800738841295242, + 0.012208294123411179, + 0.0899810865521431, + 0.17996223270893097, + 0.04348644241690636, + -0.07909032702445984, + -0.09540718048810959, + 0.013694491237401962, + 0.15580451488494873, + 0.10954711586236954, + 0.039108287543058395 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 49552 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 5, + "tail_width": 0, + "first_path_flops": 512, + "bulk_path_flops": 6688, + "bulk_block_path_flops": 6688, + "tail_path_flops": 0, + "last_path_flops": 544, + "estimated_energy_flops": 34496, + "modeled_checkpoint_boundaries": 5, + "modeled_checkpoint_bytes": 960, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 34496, + "total_backward_flops": 68784, + "total_flops": 103280, + "total_traffic_elements": 30987, + "total_traffic_bytes": 247896, + "peak_role_residual_elements": 1096, + "static_score": 244764, + "bulk_block_count": 5, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 6688, + "backward_flops": 13344, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 20032, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 187, + "total_bytes": 40960, + "recomputable_bytes": 40432, + "bytes_by_category": { + "primitive:scan": 35360, + "primitive:dot_general": 1344, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 512, + "constant": 384, + "primitive:conj": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.917863374997978, + "first_execute_seconds": 0.003897833998053102, + "warm_seconds_median": 0.0008505830010108184, + "warm_seconds_mad": 2.6292000256944448e-05, + "peak_rss_bytes": 321339392, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.888296641331721e-06, + "valid": true, + "failure": null, + "worker_pid": 51755, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738398551941, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.138940691947937, + -0.17407839000225067, + -0.28565093874931335, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172565614804626, + -0.05270257964730263, + -0.07646050304174423, + 0.043196700513362885, + 0.019278693944215775, + -0.15224744379520416, + -0.20906445384025574, + -0.022943049669265747, + 0.19368675351142883, + 0.18352213501930237, + 0.0592220276594162 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275576889514923, + -0.24816855788230896, + -0.1877639889717102, + -0.2248372733592987, + -0.16548442840576172, + -0.154145285487175, + 0.04240695387125015, + -0.16628694534301758, + -0.25748729705810547, + -0.4156586527824402, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800739586353302, + 0.012208294123411179, + 0.08998120576143265, + 0.17996226251125336, + 0.04348638281226158, + -0.07909032702445984, + -0.09540726989507675, + 0.01369430497288704, + 0.1558045893907547, + 0.10954708606004715, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 784, + "temp_size_in_bytes": 58592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 283, + "total_bytes": 41248, + "recomputable_bytes": 40368, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 4256, + "primitive:conj": 784, + "primitive:stack": 768, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.220158166001056, + "first_execute_seconds": 0.014152499999909196, + "warm_seconds_median": 0.0007920419993752148, + "warm_seconds_mad": 4.245899981469847e-05, + "peak_rss_bytes": 272203776, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 4.235166221345097e-06, + "valid": true, + "failure": null, + "worker_pid": 51828, + "parent_pid": 45668, + "energy": -11.942819595336914, + "gradient": [ + [ + [ + 0.5258735418319702, + 0.07293018698692322, + -0.04737117141485214, + -0.058920152485370636, + -0.13894060254096985, + -0.1740783303976059, + -0.2856508195400238, + -0.04443163797259331, + -0.28800153732299805, + -0.32621902227401733, + -0.3871099054813385, + 0.0 + ], + [ + -0.011313427239656448, + 0.0018172938143834472, + -0.05270246043801308, + -0.07646039873361588, + 0.04319673031568527, + 0.01927873119711876, + -0.15224720537662506, + -0.20906424522399902, + -0.022942829877138138, + 0.19368678331375122, + 0.18352195620536804, + 0.059221915900707245 + ] + ], + [ + [ + 0.28252774477005005, + -0.07275567948818207, + -0.24816831946372986, + -0.18776381015777588, + -0.22483697533607483, + -0.16548436880111694, + -0.15414516627788544, + 0.04240685701370239, + -0.16628676652908325, + -0.25748708844184875, + -0.41565829515457153, + 0.0 + ], + [ + -0.10177391022443771, + -0.09800739586353302, + 0.01220827829092741, + 0.08998111635446548, + 0.17996211349964142, + 0.04348655790090561, + -0.07909023761749268, + -0.09540725499391556, + 0.013694394379854202, + 0.15580445528030396, + 0.10954699665307999, + 0.03910822421312332 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4449, + "temp_size_in_bytes": 69632 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 289, + "total_bytes": 50768, + "recomputable_bytes": 46144, + "bytes_by_category": { + "primitive:scan": 38208, + "constant": 4384, + "primitive:dot_general": 3872, + "primitive:transpose": 1152, + "primitive:convert_element_type": 640, + "primitive:stack": 640, + "primitive:conj": 592, + "primitive:scatter": 576, + "literal": 240, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 112, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1093606670001463, + "first_execute_seconds": 0.006512166000902653, + "warm_seconds_median": 0.0009626669998397119, + "warm_seconds_mad": 3.9375001506414264e-05, + "peak_rss_bytes": 346292224, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.877368068484075e-06, + "valid": true, + "failure": null, + "worker_pid": 51920, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293026149272919, + -0.047371141612529755, + -0.05892026424407959, + -0.1389407217502594, + -0.17407836019992828, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172640120610595, + -0.05270266905426979, + -0.07646045833826065, + 0.04319671541452408, + 0.01927870139479637, + -0.15224741399288177, + -0.20906448364257812, + -0.022943034768104553, + 0.19368675351142883, + 0.18352213501930237, + 0.0592220276594162 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.24816852807998657, + -0.18776406347751617, + -0.2248372882604599, + -0.16548441350460052, + -0.1541452407836914, + 0.04240693897008896, + -0.16628694534301758, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800742566585541, + 0.012208204716444016, + 0.08998120576143265, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540728479623795, + 0.01369432732462883, + 0.1558045744895935, + 0.10954711586236954, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1093, + "temp_size_in_bytes": 57072 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 298, + "total_bytes": 43624, + "recomputable_bytes": 42744, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 4256, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 784, + "primitive:stack": 768, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:reshape": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.212191416998394, + "first_execute_seconds": 0.012220915999932913, + "warm_seconds_median": 0.0007145419986045454, + "warm_seconds_mad": 5.620800220640376e-05, + "peak_rss_bytes": 313622528, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.888296641331721e-06, + "valid": true, + "failure": null, + "worker_pid": 52015, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738398551941, + 0.072930246591568, + -0.04737117141485214, + -0.05892022326588631, + -0.138940691947937, + -0.17407839000225067, + -0.28565093874931335, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172565614804626, + -0.05270257964730263, + -0.07646050304174423, + 0.043196700513362885, + 0.019278693944215775, + -0.15224744379520416, + -0.20906445384025574, + -0.022943049669265747, + 0.19368675351142883, + 0.18352213501930237, + 0.0592220276594162 + ] + ], + [ + [ + 0.2825278043746948, + -0.07275576889514923, + -0.24816855788230896, + -0.1877639889717102, + -0.2248372733592987, + -0.16548442840576172, + -0.154145285487175, + 0.04240695387125015, + -0.16628694534301758, + -0.25748729705810547, + -0.4156586527824402, + 0.0 + ], + [ + -0.1017739549279213, + -0.09800739586353302, + 0.012208294123411179, + 0.08998120576143265, + 0.17996226251125336, + 0.04348638281226158, + -0.07909032702445984, + -0.09540726989507675, + 0.01369430497288704, + 0.1558045893907547, + 0.10954708606004715, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 43928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 283, + "total_bytes": 41248, + "recomputable_bytes": 40368, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 4256, + "primitive:conj": 784, + "primitive:stack": 768, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.614219915998547, + "first_execute_seconds": 0.007942165997519623, + "warm_seconds_median": 0.0012129170027037617, + "warm_seconds_mad": 0.00010062499859486707, + "peak_rss_bytes": 285343744, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.930834193771834e-06, + "valid": true, + "failure": null, + "worker_pid": 52184, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.07293027639389038, + -0.04737111181020737, + -0.0589202418923378, + -0.1389407217502594, + -0.1740783452987671, + -0.28565099835395813, + -0.04443151503801346, + -0.2880017161369324, + -0.3262193202972412, + -0.3871102035045624, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172640120610595, + -0.052702490240335464, + -0.07646044343709946, + 0.04319676011800766, + 0.019278626888990402, + -0.15224729478359222, + -0.20906445384025574, + -0.02294287458062172, + 0.1936868131160736, + 0.1835220903158188, + 0.059222012758255005 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275558263063431, + -0.24816849827766418, + -0.18776404857635498, + -0.2248372733592987, + -0.16548427939414978, + -0.154145285487175, + 0.04240696504712105, + -0.16628673672676086, + -0.25748735666275024, + -0.41565871238708496, + 0.0 + ], + [ + -0.10177392512559891, + -0.09800740331411362, + 0.012208294123411179, + 0.08998102694749832, + 0.17996232211589813, + 0.043486323207616806, + -0.07909032702445984, + -0.09540718048810959, + 0.013694491237401962, + 0.1558045595884323, + 0.10954711586236954, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 3488, + "temp_size_in_bytes": 45144 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 289, + "total_bytes": 43568, + "recomputable_bytes": 38944, + "bytes_by_category": { + "primitive:scan": 31392, + "constant": 4384, + "primitive:dot_general": 2848, + "primitive:transpose": 1536, + "primitive:conj": 720, + "primitive:stack": 704, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "literal": 240, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 176, + "primitive:cos": 80, + "primitive:sin": 80 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 14, + 16 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 15, + 16 + ], + [ + 1, + 7 + ], + [ + 0, + 34 + ], + [ + 34, + 36 + ], + [ + 14, + 21 + ], + [ + 24, + 30 + ], + [ + 29, + 33 + ], + [ + 21, + 22 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 22, + 27 + ], + [ + 7, + 8 + ], + [ + 4, + 5 + ], + [ + 5, + 8 + ], + [ + 17, + 18 + ], + [ + 7, + 8 + ], + [ + 10, + 11 + ], + [ + 1, + 2 + ], + [ + 10, + 22 + ], + [ + 3, + 11 + ], + [ + 5, + 10 + ], + [ + 14, + 16 + ], + [ + 1, + 13 + ], + [ + 12, + 18 + ], + [ + 5, + 6 + ], + [ + 3, + 6 + ], + [ + 9, + 12 + ], + [ + 5, + 8 + ], + [ + 0, + 13 + ], + [ + 8, + 12 + ], + [ + 5, + 11 + ], + [ + 1, + 5 + ], + [ + 4, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 9, + 10 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 3, + 10 + ], + [ + 1, + 9 + ], + [ + 0, + 4 + ], + [ + 1, + 6 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 3, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.237504916996841, + "first_execute_seconds": 0.010586165997665375, + "warm_seconds_median": 0.0007994580009835772, + "warm_seconds_mad": 4.875099693890661e-05, + "peak_rss_bytes": 293371904, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.877368068484075e-06, + "valid": true, + "failure": null, + "worker_pid": 52338, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.07293026149272919, + -0.047371141612529755, + -0.05892026424407959, + -0.1389407217502594, + -0.17407836019992828, + -0.2856510281562805, + -0.04443163424730301, + -0.2880016565322876, + -0.32621926069259644, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172640120610595, + -0.05270266905426979, + -0.07646045833826065, + 0.04319671541452408, + 0.01927870139479637, + -0.15224741399288177, + -0.20906448364257812, + -0.022943034768104553, + 0.19368675351142883, + 0.18352213501930237, + 0.0592220276594162 + ] + ], + [ + [ + 0.2825279235839844, + -0.07275578379631042, + -0.24816852807998657, + -0.18776406347751617, + -0.2248372882604599, + -0.16548441350460052, + -0.1541452407836914, + 0.04240693897008896, + -0.16628694534301758, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800742566585541, + 0.012208204716444016, + 0.08998120576143265, + 0.17996226251125336, + 0.04348641261458397, + -0.07909029722213745, + -0.09540728479623795, + 0.01369432732462883, + 0.1558045744895935, + 0.10954711586236954, + 0.03910823166370392 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 46232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 3, + "tail_width": 1, + "first_path_flops": 512, + "bulk_path_flops": 10752, + "bulk_block_path_flops": 10752, + "tail_path_flops": 3152, + "last_path_flops": 544, + "estimated_energy_flops": 36464, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 36464, + "total_backward_flops": 72712, + "total_flops": 109176, + "total_traffic_elements": 33075, + "total_traffic_bytes": 264600, + "peak_role_residual_elements": 1752, + "static_score": 269508, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 10752, + "backward_flops": 21456, + "forward_read_elements": 1752, + "forward_write_elements": 1392, + "backward_read_elements": 4536, + "backward_write_elements": 1752, + "residual_elements": 1752, + "peak_live_residual_elements": 1752, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 32208, + "traffic_elements": 9432 + }, + "tail": { + "forward_flops": 3152, + "backward_flops": 6280, + "forward_read_elements": 572, + "forward_write_elements": 452, + "backward_read_elements": 1476, + "backward_write_elements": 572, + "residual_elements": 572, + "peak_live_residual_elements": 572, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9432, + "traffic_elements": 3072 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 298, + "total_bytes": 43624, + "recomputable_bytes": 42744, + "bytes_by_category": { + "primitive:scan": 32640, + "primitive:dot_general": 4256, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 784, + "primitive:stack": 768, + "constant": 640, + "primitive:convert_element_type": 640, + "primitive:scatter": 576, + "primitive:reshape": 384, + "literal": 240, + "primitive:concatenate": 160, + "primitive:cos": 80, + "primitive:sin": 80, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.450408749999042, + "first_execute_seconds": 0.005428917000244837, + "warm_seconds_median": 0.0011649580010271166, + "warm_seconds_mad": 0.0001960420013347175, + "peak_rss_bytes": 291733504, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.878830158597902e-06, + "valid": true, + "failure": null, + "worker_pid": 52534, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258739590644836, + 0.072930246591568, + -0.04737123101949692, + -0.05892042815685272, + -0.1389407068490982, + -0.17407837510108948, + -0.2856510281562805, + -0.044431693851947784, + -0.28800174593925476, + -0.3262193500995636, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172565614804626, + -0.052702490240335464, + -0.07646041363477707, + 0.04319676011800766, + 0.01927870139479637, + -0.15224727988243103, + -0.20906466245651245, + -0.02294294163584709, + 0.19368693232536316, + 0.1835220456123352, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275572419166565, + -0.2481684386730194, + -0.18776407837867737, + -0.2248372584581375, + -0.16548441350460052, + -0.15414534509181976, + 0.04240693524479866, + -0.16628685593605042, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800741076469421, + 0.012208309024572372, + 0.08998120576143265, + 0.1799624115228653, + 0.04348653182387352, + -0.07909038662910461, + -0.09540722519159317, + 0.013694506138563156, + 0.15580451488494873, + 0.10954702645540237, + 0.039108410477638245 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 800, + "temp_size_in_bytes": 55840 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 512, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 544, + "estimated_energy_flops": 35936, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35936, + "total_backward_flops": 71664, + "total_flops": 107600, + "total_traffic_elements": 30267, + "total_traffic_bytes": 242136, + "peak_role_residual_elements": 2156, + "static_score": 263164, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 386, + "total_bytes": 38192, + "recomputable_bytes": 36960, + "bytes_by_category": { + "primitive:scan": 26368, + "primitive:dot_general": 6400, + "primitive:stack": 960, + "primitive:conj": 928, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.813594999999623, + "first_execute_seconds": 0.009352917000796879, + "warm_seconds_median": 0.000764124997658655, + "warm_seconds_mad": 6.20419996266719e-05, + "peak_rss_bytes": 358170624, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.981519828017148e-06, + "valid": true, + "failure": null, + "worker_pid": 52642, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293029129505157, + -0.04737109690904617, + -0.05892031639814377, + -0.138940691947937, + -0.17407847940921783, + -0.2856510877609253, + -0.04443160444498062, + -0.28800177574157715, + -0.3262192904949188, + -0.38711005449295044, + 0.0 + ], + [ + -0.01131325401365757, + 0.0018172267591580749, + -0.0527024008333683, + -0.07646026462316513, + 0.04319686442613602, + 0.01927875354886055, + -0.15224729478359222, + -0.2090643048286438, + -0.02294282242655754, + 0.19368687272071838, + 0.18352194130420685, + 0.059221893548965454 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275574654340744, + -0.2481684386730194, + -0.18776404857635498, + -0.22483724355697632, + -0.16548451781272888, + -0.154145285487175, + 0.042406924068927765, + -0.16628685593605042, + -0.2574872374534607, + -0.41565847396850586, + 0.0 + ], + [ + -0.10177398473024368, + -0.09800739586353302, + 0.012208263389766216, + 0.08998117595911026, + 0.1799623817205429, + 0.04348653182387352, + -0.07909032702445984, + -0.09540719538927078, + 0.013694416731595993, + 0.1558045595884323, + 0.1095472052693367, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 5329, + "temp_size_in_bytes": 75920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 512, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 544, + "estimated_energy_flops": 35936, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35936, + "total_backward_flops": 71664, + "total_flops": 107600, + "total_traffic_elements": 30267, + "total_traffic_bytes": 242136, + "peak_role_residual_elements": 2156, + "static_score": 263164, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 393, + "total_bytes": 53584, + "recomputable_bytes": 48608, + "bytes_by_category": { + "primitive:scan": 36736, + "primitive:dot_general": 6752, + "constant": 4640, + "primitive:transpose": 1152, + "primitive:conj": 1008, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "literal": 336, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 112, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.876617083999008, + "first_execute_seconds": 0.012442375002137851, + "warm_seconds_median": 0.0010657079983502626, + "warm_seconds_mad": 8.924999929149635e-05, + "peak_rss_bytes": 268566528, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.853952711078073e-06, + "valid": true, + "failure": null, + "worker_pid": 52758, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.072930246591568, + -0.04737123101949692, + -0.058920420706272125, + -0.1389407068490982, + -0.17407840490341187, + -0.2856510281562805, + -0.044431693851947784, + -0.28800174593925476, + -0.326219379901886, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172491108998656, + -0.05270252004265785, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224729478359222, + -0.20906472206115723, + -0.02294296771287918, + 0.19368693232536316, + 0.1835220754146576, + 0.05922206491231918 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275572419166565, + -0.2481684386730194, + -0.18776413798332214, + -0.2248372733592987, + -0.1654844433069229, + -0.1541452705860138, + 0.04240693524479866, + -0.16628685593605042, + -0.25748732686042786, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800741076469421, + 0.012208279222249985, + 0.08998123556375504, + 0.1799624115228653, + 0.04348650202155113, + -0.07909038662910461, + -0.09540722519159317, + 0.013694491237401962, + 0.15580451488494873, + 0.10954705625772476, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 1109, + "temp_size_in_bytes": 55216 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 512, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 544, + "estimated_energy_flops": 35936, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35936, + "total_backward_flops": 71664, + "total_flops": 107600, + "total_traffic_elements": 30267, + "total_traffic_bytes": 242136, + "peak_role_residual_elements": 2156, + "static_score": 263164, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 401, + "total_bytes": 40568, + "recomputable_bytes": 39336, + "bytes_by_category": { + "primitive:scan": 25984, + "primitive:dot_general": 6400, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 960, + "primitive:conj": 928, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.69693529199867, + "first_execute_seconds": 0.030627291998825967, + "warm_seconds_median": 0.0011036249998142011, + "warm_seconds_mad": 0.0003426249968470074, + "peak_rss_bytes": 249872384, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 3.878830158597902e-06, + "valid": true, + "failure": null, + "worker_pid": 52905, + "parent_pid": 45668, + "energy": -11.942826271057129, + "gradient": [ + [ + [ + 0.5258739590644836, + 0.072930246591568, + -0.04737123101949692, + -0.05892042815685272, + -0.1389407068490982, + -0.17407837510108948, + -0.2856510281562805, + -0.044431693851947784, + -0.28800174593925476, + -0.3262193500995636, + -0.3871101140975952, + 0.0 + ], + [ + -0.01131337322294712, + 0.0018172565614804626, + -0.052702490240335464, + -0.07646041363477707, + 0.04319676011800766, + 0.01927870139479637, + -0.15224727988243103, + -0.20906466245651245, + -0.02294294163584709, + 0.19368693232536316, + 0.1835220456123352, + 0.0592220202088356 + ] + ], + [ + [ + 0.2825278639793396, + -0.07275572419166565, + -0.2481684386730194, + -0.18776407837867737, + -0.2248372584581375, + -0.16548441350460052, + -0.15414534509181976, + 0.04240693524479866, + -0.16628685593605042, + -0.25748729705810547, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800741076469421, + 0.012208309024572372, + 0.08998120576143265, + 0.1799624115228653, + 0.04348653182387352, + -0.07909038662910461, + -0.09540722519159317, + 0.013694506138563156, + 0.15580451488494873, + 0.10954702645540237, + 0.039108410477638245 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 696, + "temp_size_in_bytes": 41560 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 512, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 544, + "estimated_energy_flops": 35936, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35936, + "total_backward_flops": 71664, + "total_flops": 107600, + "total_traffic_elements": 30267, + "total_traffic_bytes": 242136, + "peak_role_residual_elements": 2156, + "static_score": 263164, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 386, + "total_bytes": 38192, + "recomputable_bytes": 36960, + "bytes_by_category": { + "primitive:scan": 26368, + "primitive:dot_general": 6400, + "primitive:stack": 960, + "primitive:conj": 928, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.213605583001481, + "first_execute_seconds": 0.010275750002620043, + "warm_seconds_median": 0.0011442499999247957, + "warm_seconds_mad": 0.00010095899779116735, + "peak_rss_bytes": 276922368, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 3.994564027135882e-06, + "valid": true, + "failure": null, + "worker_pid": 53040, + "parent_pid": 45668, + "energy": -11.942822456359863, + "gradient": [ + [ + [ + 0.5258737802505493, + 0.07293029129505157, + -0.04737115651369095, + -0.058920301496982574, + -0.13894064724445343, + -0.17407846450805664, + -0.2856508791446686, + -0.04443163424730301, + -0.28800168633461, + -0.32621923089027405, + -0.38710999488830566, + 0.0 + ], + [ + -0.011313071474432945, + 0.001817308715544641, + -0.05270254984498024, + -0.07646038383245468, + 0.04319676011800766, + 0.019278649240732193, + -0.1522473394870758, + -0.20906445384025574, + -0.022942855954170227, + 0.19368690252304077, + 0.18352213501930237, + 0.05922205001115799 + ] + ], + [ + [ + 0.2825276851654053, + -0.07275576144456863, + -0.24816833436489105, + -0.18776394426822662, + -0.22483718395233154, + -0.1654844582080841, + -0.15414507687091827, + 0.04240686073899269, + -0.16628679633140564, + -0.2574872076511383, + -0.41565853357315063, + 0.0 + ], + [ + -0.10177389532327652, + -0.09800732135772705, + 0.012208233587443829, + 0.08998114615678787, + 0.17996220290660858, + 0.04348644241690636, + -0.07909032702445984, + -0.0954071655869484, + 0.01369444653391838, + 0.1558045744895935, + 0.10954708606004715, + 0.03910822793841362 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 4256, + "temp_size_in_bytes": 50840 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 512, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 544, + "estimated_energy_flops": 35936, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35936, + "total_backward_flops": 71664, + "total_flops": 107600, + "total_traffic_elements": 30267, + "total_traffic_bytes": 242136, + "peak_role_residual_elements": 2156, + "static_score": 263164, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 393, + "total_bytes": 49904, + "recomputable_bytes": 44928, + "bytes_by_category": { + "primitive:scan": 31808, + "primitive:dot_general": 7008, + "constant": 4640, + "primitive:transpose": 2112, + "primitive:stack": 1024, + "primitive:conj": 912, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "literal": 336, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 7 + ], + [ + 4, + 5 + ], + [ + 1, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 32, + 39 + ], + [ + 1, + 3 + ], + [ + 35, + 41 + ], + [ + 14, + 16 + ], + [ + 14, + 20 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 1, + 5 + ], + [ + 31, + 38 + ], + [ + 4, + 50 + ], + [ + 24, + 25 + ], + [ + 30, + 31 + ], + [ + 20, + 21 + ], + [ + 36, + 45 + ], + [ + 30, + 31 + ], + [ + 28, + 29 + ], + [ + 18, + 19 + ], + [ + 33, + 37 + ], + [ + 4, + 5 + ], + [ + 13, + 14 + ], + [ + 2, + 3 + ], + [ + 29, + 33 + ], + [ + 3, + 33 + ], + [ + 21, + 22 + ], + [ + 15, + 22 + ], + [ + 5, + 6 + ], + [ + 19, + 31 + ], + [ + 18, + 19 + ], + [ + 3, + 4 + ], + [ + 10, + 14 + ], + [ + 10, + 11 + ], + [ + 7, + 14 + ], + [ + 3, + 4 + ], + [ + 25, + 26 + ], + [ + 5, + 10 + ], + [ + 1, + 14 + ], + [ + 7, + 10 + ], + [ + 2, + 10 + ], + [ + 6, + 9 + ], + [ + 11, + 13 + ], + [ + 0, + 17 + ], + [ + 5, + 14 + ], + [ + 3, + 12 + ], + [ + 16, + 17 + ], + [ + 10, + 12 + ], + [ + 8, + 12 + ], + [ + 9, + 14 + ], + [ + 2, + 9 + ], + [ + 7, + 12 + ], + [ + 9, + 11 + ], + [ + 6, + 9 + ], + [ + 0, + 3 + ], + [ + 4, + 8 + ], + [ + 6, + 7 + ], + [ + 1, + 2 + ], + [ + 0, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 17, + 18 + ], + [ + 1, + 2 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 8, + 10 + ], + [ + 8, + 12 + ], + [ + 12, + 13 + ], + [ + 4, + 21 + ], + [ + 1, + 16 + ], + [ + 1, + 20 + ], + [ + 2, + 18 + ], + [ + 8, + 9 + ], + [ + 9, + 16 + ], + [ + 5, + 6 + ], + [ + 10, + 12 + ], + [ + 5, + 10 + ], + [ + 4, + 6 + ], + [ + 2, + 8 + ], + [ + 0, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 2 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 10, + 11 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 7 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.63616545900004, + "first_execute_seconds": 0.027837624998937827, + "warm_seconds_median": 0.0012746659995173104, + "warm_seconds_mad": 0.00041791599869611673, + "peak_rss_bytes": 260390912, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 3.853952711078073e-06, + "valid": true, + "failure": null, + "worker_pid": 53159, + "parent_pid": 45668, + "energy": -11.942825317382812, + "gradient": [ + [ + [ + 0.5258738994598389, + 0.072930246591568, + -0.04737123101949692, + -0.058920420706272125, + -0.1389407068490982, + -0.17407840490341187, + -0.2856510281562805, + -0.044431693851947784, + -0.28800174593925476, + -0.326219379901886, + -0.3871101140975952, + 0.0 + ], + [ + -0.011313313618302345, + 0.0018172491108998656, + -0.05270252004265785, + -0.07646041363477707, + 0.043196775019168854, + 0.019278693944215775, + -0.15224729478359222, + -0.20906472206115723, + -0.02294296771287918, + 0.19368693232536316, + 0.1835220754146576, + 0.05922206491231918 + ] + ], + [ + [ + 0.2825278341770172, + -0.07275572419166565, + -0.2481684386730194, + -0.18776413798332214, + -0.2248372733592987, + -0.1654844433069229, + -0.1541452705860138, + 0.04240693524479866, + -0.16628685593605042, + -0.25748732686042786, + -0.4156585931777954, + 0.0 + ], + [ + -0.10177399963140488, + -0.09800741076469421, + 0.012208279222249985, + 0.08998123556375504, + 0.1799624115228653, + 0.04348650202155113, + -0.07909038662910461, + -0.09540722519159317, + 0.013694491237401962, + 0.15580451488494873, + 0.10954705625772476, + 0.039108291268348694 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 804, + "temp_size_in_bytes": 42968 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 10, + "bulk_blocks": 2, + "tail_width": 2, + "first_path_flops": 512, + "bulk_path_flops": 14384, + "bulk_block_path_flops": 14384, + "tail_path_flops": 6112, + "last_path_flops": 544, + "estimated_energy_flops": 35936, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 35936, + "total_backward_flops": 71664, + "total_flops": 107600, + "total_traffic_elements": 30267, + "total_traffic_bytes": 242136, + "peak_role_residual_elements": 2156, + "static_score": 263164, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 512, + "backward_flops": 1008, + "forward_read_elements": 144, + "forward_write_elements": 128, + "backward_read_elements": 400, + "backward_write_elements": 144, + "residual_elements": 144, + "peak_live_residual_elements": 144, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1520, + "traffic_elements": 816 + }, + "bulk": { + "forward_flops": 14384, + "backward_flops": 28704, + "forward_read_elements": 2156, + "forward_write_elements": 1676, + "backward_read_elements": 5508, + "backward_write_elements": 2156, + "residual_elements": 2156, + "peak_live_residual_elements": 2156, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 43088, + "traffic_elements": 11496 + }, + "tail": { + "forward_flops": 6112, + "backward_flops": 12192, + "forward_read_elements": 1048, + "forward_write_elements": 808, + "backward_read_elements": 2664, + "backward_write_elements": 1048, + "residual_elements": 1048, + "peak_live_residual_elements": 1048, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18304, + "traffic_elements": 5568 + }, + "last": { + "forward_flops": 544, + "backward_flops": 1056, + "forward_read_elements": 204, + "forward_write_elements": 93, + "backward_read_elements": 390, + "backward_write_elements": 204, + "residual_elements": 204, + "peak_live_residual_elements": 204, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1600, + "traffic_elements": 891 + } + } + }, + "residual_profile": { + "residual_count": 401, + "total_bytes": 40568, + "recomputable_bytes": 39336, + "bytes_by_category": { + "primitive:scan": 25984, + "primitive:dot_general": 6400, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:stack": 960, + "primitive:conj": 928, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 224, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 2.0161693330010166, + "first_execute_seconds": 0.002243666000140365, + "warm_seconds_median": 0.0015357919983216561, + "warm_seconds_mad": 3.787500099861063e-05, + "peak_rss_bytes": 306724864, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 45685, + "parent_pid": 45668, + "energy": -11.942828178405762, + "gradient": [ + [ + [ + 0.5258740186691284, + 0.0729302316904068, + -0.0473712757229805, + -0.058920182287693024, + -0.13894063234329224, + -0.17407861351966858, + -0.28565138578414917, + -0.044431693851947784, + -0.288002073764801, + -0.32621902227401733, + -0.38711029291152954, + 0.0 + ], + [ + -0.011313254944980145, + 0.0018168840324506164, + -0.05270148068666458, + -0.0764598473906517, + 0.043196894228458405, + 0.01927817240357399, + -0.1522495448589325, + -0.20906610786914825, + -0.02294367551803589, + 0.19368714094161987, + 0.1835225522518158, + 0.059220921248197556 + ] + ], + [ + [ + 0.2825295925140381, + -0.07275639474391937, + -0.24816745519638062, + -0.18776455521583557, + -0.2248382866382599, + -0.16548416018486023, + -0.15414561331272125, + 0.04240597039461136, + -0.16628773510456085, + -0.25748759508132935, + -0.41565966606140137, + 0.0 + ], + [ + -0.10177331417798996, + -0.09800641983747482, + 0.012208650819957256, + 0.08998209983110428, + 0.17996220290660858, + 0.04348596930503845, + -0.07909044623374939, + -0.0954071506857872, + 0.01369461789727211, + 0.1558043211698532, + 0.10954675823450089, + 0.039107635617256165 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 192, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 212, + "peak_memory_in_bytes": 520, + "temp_size_in_bytes": 3481544 + }, + "static_estimate": { + "parameter_count": 46, + "state_bytes": 32768, + "saved_boundary_upper_bound_bytes": 98304, + "estimated_forward_gate_applications": 46, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-report-n8-d2.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-report-n8-d2.json new file mode 100644 index 000000000..78e6e5267 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-symmetry-report-n8-d2.json @@ -0,0 +1,41051 @@ +{ + "request": { + "spec": { + "nqubits": 8, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 5, + "seed": 0, + "timeout_seconds": 300.0 + }, + "selected": { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9785500420002791, + "first_execute_seconds": 0.0014599589994759299, + "warm_seconds_median": 0.0004257079999661073, + "warm_seconds_mad": 1.0749998182291165e-05, + "peak_rss_bytes": 329187328, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5262552189055018e-06, + "valid": true, + "failure": null, + "worker_pid": 43400, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.16267918050289154, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252944514155388, + 0.01803465001285076, + -0.1602604240179062, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.3724291920661926, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 31264 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24528, + "recomputable_bytes": 24128, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1056, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.3925347919976048, + "first_execute_seconds": 0.0031589999998686835, + "warm_seconds_median": 0.0005064169999968726, + "warm_seconds_mad": 4.579199958243407e-05, + "peak_rss_bytes": 295993344, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 38019, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.3123229999982868, + "first_execute_seconds": 0.0019381250021979213, + "warm_seconds_median": 0.0005853339971508831, + "warm_seconds_mad": 2.279100226587616e-05, + "peak_rss_bytes": 285540352, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 40811, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.271985458002746, + "first_execute_seconds": 0.004120916000829311, + "warm_seconds_median": 0.0004742089986393694, + "warm_seconds_mad": 3.774899960262701e-05, + "peak_rss_bytes": 240320512, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 41586, + "parent_pid": 37308, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 29592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.375746124998841, + "first_execute_seconds": 0.0039630829996895045, + "warm_seconds_median": 0.0005384169999160804, + "warm_seconds_mad": 6.104199928813614e-05, + "peak_rss_bytes": 217497600, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.2917965771704523e-06, + "valid": true, + "failure": null, + "worker_pid": 41694, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.1626792550086975, + 0.42951926589012146, + 0.5784920454025269, + 0.1439048796892166, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780522927641869, + 0.0001632854255149141, + -0.04916917160153389, + -0.07137016206979752, + 0.04252947121858597, + 0.018034690991044044, + -0.16026048362255096, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095166474580765, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859304904937744, + 0.24043165147304535, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588530123233795, + -0.058648522943258286, + -0.21433743834495544, + -0.04868518188595772, + -0.10687978565692902, + -0.22707585990428925, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2688, + "temp_size_in_bytes": 37912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 32336, + "recomputable_bytes": 29312, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:transpose": 4992, + "primitive:dot_general": 4544, + "constant": 2880, + "primitive:stack": 448, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.91313799999989, + "first_execute_seconds": 0.0017968749998544808, + "warm_seconds_median": 0.0004118750002817251, + "warm_seconds_mad": 1.5665998944314197e-05, + "peak_rss_bytes": 323731456, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.5206237622931286e-06, + "valid": true, + "failure": null, + "worker_pid": 43205, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582328662276268, + 0.16267931461334229, + 0.42951905727386475, + 0.5784919261932373, + 0.143904909491539, + 0.5593963265419006, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016322603914886713, + -0.049168746918439865, + -0.07136992365121841, + 0.042529769241809845, + 0.018034661188721657, + -0.1602603942155838, + -0.1268349289894104 + ] + ], + [ + [ + -0.1835922747850418, + -0.02409512922167778, + 0.3724292516708374, + 0.36280500888824463, + -0.10408814996480942, + 0.41859298944473267, + 0.24043156206607819, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588528633117676, + -0.05864826217293739, + -0.21433714032173157, + -0.048684801906347275, + -0.10687973350286484, + -0.22707581520080566, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2688, + "temp_size_in_bytes": 67544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 50288, + "recomputable_bytes": 45312, + "bytes_by_category": { + "primitive:scan": 24704, + "primitive:dot_general": 11968, + "primitive:transpose": 5376, + "constant": 4640, + "primitive:conj": 1008, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9785500420002791, + "first_execute_seconds": 0.0014599589994759299, + "warm_seconds_median": 0.0004257079999661073, + "warm_seconds_mad": 1.0749998182291165e-05, + "peak_rss_bytes": 329187328, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5262552189055018e-06, + "valid": true, + "failure": null, + "worker_pid": 43400, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.16267918050289154, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252944514155388, + 0.01803465001285076, + -0.1602604240179062, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.3724291920661926, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 31264 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24528, + "recomputable_bytes": 24128, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1056, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.161659375000454, + "first_execute_seconds": 0.0017220839981746394, + "warm_seconds_median": 0.0005184169967833441, + "warm_seconds_mad": 4.875004378845915e-06, + "peak_rss_bytes": 324190208, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6239470449754925e-06, + "valid": true, + "failure": null, + "worker_pid": 43440, + "parent_pid": 37308, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.4295189380645752, + 0.5784916281700134, + 0.14390474557876587, + 0.5593961477279663, + 0.43843239545822144, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016316695837303996, + -0.04916912689805031, + -0.07137015461921692, + 0.042529355734586716, + 0.018034646287560463, + -0.16026030480861664, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095218628644943, + 0.3724290728569031, + 0.3628048300743103, + -0.10408812016248703, + 0.4185928404331207, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648426085710526, + -0.21433722972869873, + -0.048685092478990555, + -0.10687986016273499, + -0.2270756959915161, + -0.05777730047702789 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 4605, + "temp_size_in_bytes": 31832 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 138, + "total_bytes": 26816, + "recomputable_bytes": 23920, + "bytes_by_category": { + "primitive:scan": 19776, + "constant": 2752, + "primitive:transpose": 1728, + "primitive:dot_general": 928, + "primitive:conj": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.2338904159987578, + "first_execute_seconds": 0.001705124999716645, + "warm_seconds_median": 0.0006824580013926607, + "warm_seconds_mad": 0.00015450000137207098, + "peak_rss_bytes": 300498944, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5428416350663068e-06, + "valid": true, + "failure": null, + "worker_pid": 43479, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582306310534477, + 0.16267916560173035, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780433520674706, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252941533923149, + 0.01803465373814106, + -0.1602603793144226, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.37242916226387024, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777730047702789 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 953, + "temp_size_in_bytes": 32176 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 26112, + "recomputable_bytes": 25712, + "bytes_by_category": { + "primitive:scan": 21312, + "primitive:dot_general": 1056, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:reshape": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.2990050419975887, + "first_execute_seconds": 0.0019471250016067643, + "warm_seconds_median": 0.0003946670003642794, + "warm_seconds_mad": 1.5000001440057531e-05, + "peak_rss_bytes": 324386816, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5262552189055018e-06, + "valid": true, + "failure": null, + "worker_pid": 43553, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.16267918050289154, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252944514155388, + 0.01803465001285076, + -0.1602604240179062, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.3724291920661926, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 32336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24528, + "recomputable_bytes": 24128, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1056, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0448101659967506, + "first_execute_seconds": 0.0015049169996927958, + "warm_seconds_median": 0.00037762500141980127, + "warm_seconds_mad": 2.633400072227232e-05, + "peak_rss_bytes": 327843840, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5171173271407541e-06, + "valid": true, + "failure": null, + "worker_pid": 44156, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016321142902597785, + -0.04916909709572792, + -0.07137016206979752, + 0.04252947121858597, + 0.018034672364592552, + -0.16026034951210022, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.37242916226387024, + 0.36280491948127747, + -0.10408813506364822, + 0.4185929000377655, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864844098687172, + -0.21433724462985992, + -0.048685114830732346, + -0.10687986016273499, + -0.22707566618919373, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27032 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23632, + "recomputable_bytes": 23104, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1120, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.07394616700185, + "first_execute_seconds": 0.0017112080022343434, + "warm_seconds_median": 0.00035849999767378904, + "warm_seconds_mad": 4.3415999243734404e-05, + "peak_rss_bytes": 326860800, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4765065010874165e-06, + "valid": true, + "failure": null, + "worker_pid": 44186, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267909109592438, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631370687391609, + -0.049169156700372696, + -0.07137030363082886, + 0.042529236525297165, + 0.018034638836979866, + -0.1602604240179062, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095267057418823, + 0.3724291920661926, + 0.36280500888824463, + -0.10408809781074524, + 0.4185929000377655, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588504791259766, + -0.05864847078919411, + -0.21433719992637634, + -0.04868512973189354, + -0.10687980055809021, + -0.22707578539848328, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3360, + "temp_size_in_bytes": 33048 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 182, + "total_bytes": 27872, + "recomputable_bytes": 24848, + "bytes_by_category": { + "primitive:scan": 20448, + "constant": 2880, + "primitive:transpose": 1728, + "primitive:dot_general": 928, + "primitive:stack": 576, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1611617499984277, + "first_execute_seconds": 0.001627875000849599, + "warm_seconds_median": 0.00041599999894970097, + "warm_seconds_mad": 3.5707998904399574e-05, + "peak_rss_bytes": 278675456, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5314980502006513e-06, + "valid": true, + "failure": null, + "worker_pid": 44233, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016324117314070463, + -0.04916907474398613, + -0.07137016952037811, + 0.04252947121858597, + 0.01803467981517315, + -0.16026033461093903, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.37242916226387024, + 0.36280491948127747, + -0.10408812761306763, + 0.4185928702354431, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.058648448437452316, + -0.21433725953102112, + -0.04868509992957115, + -0.10687984526157379, + -0.22707568109035492, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 28888 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 25216, + "recomputable_bytes": 24688, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1625938750003115, + "first_execute_seconds": 0.0016255409973382484, + "warm_seconds_median": 0.000284333000308834, + "warm_seconds_mad": 1.1709002137649804e-05, + "peak_rss_bytes": 331677696, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2741646511368913e-06, + "valid": true, + "failure": null, + "worker_pid": 44541, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582265332341194, + 0.16267922520637512, + 0.4295191466808319, + 0.5784920454025269, + 0.14390483498573303, + 0.559396505355835, + 0.43843281269073486, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631813356652856, + -0.04916921630501747, + -0.0713701993227005, + 0.04252947121858597, + 0.018034720793366432, + -0.16026046872138977, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.3724292516708374, + 0.3628050684928894, + -0.10408814251422882, + 0.4185931086540222, + 0.24043145775794983, + 0.0 + ], + [ + 0.041629109531641006, + 0.08588498830795288, + -0.058648448437452316, + -0.2143373042345047, + -0.04868500307202339, + -0.10687990486621857, + -0.22707590460777283, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3648, + "temp_size_in_bytes": 33088 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 225, + "total_bytes": 30608, + "recomputable_bytes": 27456, + "bytes_by_category": { + "primitive:scan": 19648, + "primitive:transpose": 4800, + "constant": 3008, + "primitive:dot_general": 1056, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 464, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8061874169980001, + "first_execute_seconds": 0.001277999999729218, + "warm_seconds_median": 0.0003020410003955476, + "warm_seconds_mad": 3.162500070175156e-05, + "peak_rss_bytes": 342573056, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.6090602998163886e-06, + "valid": true, + "failure": null, + "worker_pid": 44613, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582263469696045, + 0.16267918050289154, + 0.42951905727386475, + 0.578491747379303, + 0.14390471577644348, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309272905346006, + -0.0491691492497921, + -0.07137015461921692, + 0.04252932593226433, + 0.01803465001285076, + -0.16026026010513306, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095185101032257, + 0.37242913246154785, + 0.3628048896789551, + -0.10408806800842285, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588498830795288, + -0.05864841118454933, + -0.21433725953102112, + -0.048685114830732346, + -0.10687979310750961, + -0.22707566618919373, + -0.057777319103479385 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 31320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 229, + "total_bytes": 28160, + "recomputable_bytes": 27504, + "bytes_by_category": { + "primitive:scan": 22464, + "primitive:dot_general": 1184, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:reshape": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 47, + 54 + ], + [ + 31, + 33 + ], + [ + 31, + 37 + ], + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 34, + 35 + ], + [ + 38, + 44 + ], + [ + 39, + 40 + ], + [ + 5, + 11 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 29, + 30 + ], + [ + 20, + 21 + ], + [ + 11, + 12 + ], + [ + 18, + 19 + ], + [ + 26, + 35 + ], + [ + 5, + 30 + ], + [ + 11, + 12 + ], + [ + 23, + 37 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 1, + 21 + ], + [ + 0, + 20 + ], + [ + 19, + 35 + ], + [ + 18, + 30 + ], + [ + 6, + 17 + ], + [ + 16, + 32 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 4, + 27 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 9 + ], + [ + 9, + 10 + ], + [ + 4, + 17 + ], + [ + 10, + 12 + ], + [ + 13, + 22 + ], + [ + 1, + 8 + ], + [ + 9, + 13 + ], + [ + 3, + 4 + ], + [ + 7, + 10 + ], + [ + 13, + 17 + ], + [ + 1, + 11 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 11 + ], + [ + 4, + 11 + ], + [ + 5, + 6 + ], + [ + 1, + 2 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.147728083000402, + "first_execute_seconds": 0.001400666998961242, + "warm_seconds_median": 0.0002950829984911252, + "warm_seconds_mad": 2.5248999008908868e-05, + "peak_rss_bytes": 341966848, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4378850770309186e-06, + "valid": true, + "failure": null, + "worker_pid": 44721, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582254156470299, + 0.16267913579940796, + 0.42951899766921997, + 0.5784919261932373, + 0.14390480518341064, + 0.5593963265419006, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310706268996, + -0.049169328063726425, + -0.07137035578489304, + 0.042529236525297165, + 0.018034713342785835, + -0.1602603793144226, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359225988388062, + -0.02409520372748375, + 0.372429221868515, + 0.36280491948127747, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588497340679169, + -0.05864846333861351, + -0.21433743834495544, + -0.04868515953421593, + -0.10687986016273499, + -0.22707581520080566, + -0.05777733027935028 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2880, + "temp_size_in_bytes": 39704 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 17696, + "bulk_block_path_flops": 17696, + "tail_path_flops": 6176, + "last_path_flops": 504, + "estimated_energy_flops": 24872, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 24872, + "total_backward_flops": 49608, + "total_flops": 74480, + "total_traffic_elements": 21339, + "total_traffic_bytes": 170712, + "peak_role_residual_elements": 2568, + "static_score": 200924, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 17696, + "backward_flops": 35328, + "forward_read_elements": 2568, + "forward_write_elements": 2088, + "backward_read_elements": 6744, + "backward_write_elements": 2568, + "residual_elements": 2568, + "peak_live_residual_elements": 2568, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 53024, + "traffic_elements": 13968 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 395, + "total_bytes": 36464, + "recomputable_bytes": 31488, + "bytes_by_category": { + "primitive:scan": 14304, + "primitive:dot_general": 8096, + "primitive:transpose": 5056, + "constant": 4640, + "primitive:conj": 1024, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "literal": 336, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 160, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 47, + 54 + ], + [ + 31, + 33 + ], + [ + 31, + 37 + ], + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 34, + 35 + ], + [ + 38, + 44 + ], + [ + 39, + 40 + ], + [ + 5, + 11 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 29, + 30 + ], + [ + 20, + 21 + ], + [ + 11, + 12 + ], + [ + 18, + 19 + ], + [ + 26, + 35 + ], + [ + 5, + 30 + ], + [ + 11, + 12 + ], + [ + 23, + 37 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 1, + 21 + ], + [ + 0, + 20 + ], + [ + 19, + 35 + ], + [ + 18, + 30 + ], + [ + 6, + 17 + ], + [ + 16, + 32 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 4, + 27 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 9 + ], + [ + 9, + 10 + ], + [ + 4, + 17 + ], + [ + 10, + 12 + ], + [ + 13, + 22 + ], + [ + 1, + 8 + ], + [ + 9, + 13 + ], + [ + 3, + 4 + ], + [ + 7, + 10 + ], + [ + 13, + 17 + ], + [ + 1, + 11 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 11 + ], + [ + 4, + 11 + ], + [ + 5, + 6 + ], + [ + 1, + 2 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.5912050410006486, + "first_execute_seconds": 0.0016352499987988267, + "warm_seconds_median": 0.0003459170002315659, + "warm_seconds_mad": 2.1248997654765844e-05, + "peak_rss_bytes": 344768512, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.485171549609625e-06, + "valid": true, + "failure": null, + "worker_pid": 44820, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267916560173035, + 0.42951902747154236, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631221384741366, + -0.049169111996889114, + -0.07137013971805573, + 0.04252941533923149, + 0.018034661188721657, + -0.160260409116745, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359214067459106, + -0.024095218628644943, + 0.37242913246154785, + 0.3628048300743103, + -0.10408814251422882, + 0.4185929298400879, + 0.24043145775794983, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588501811027527, + -0.05864836648106575, + -0.21433722972869873, + -0.04868512228131294, + -0.10687988996505737, + -0.2270757406949997, + -0.057777341455221176 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 33112 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 17696, + "bulk_block_path_flops": 17696, + "tail_path_flops": 6176, + "last_path_flops": 504, + "estimated_energy_flops": 24872, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 24872, + "total_backward_flops": 49608, + "total_flops": 74480, + "total_traffic_elements": 21339, + "total_traffic_bytes": 170712, + "peak_role_residual_elements": 2568, + "static_score": 200924, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 17696, + "backward_flops": 35328, + "forward_read_elements": 2568, + "forward_write_elements": 2088, + "backward_read_elements": 6744, + "backward_write_elements": 2568, + "residual_elements": 2568, + "peak_live_residual_elements": 2568, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 53024, + "traffic_elements": 13968 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 399, + "total_bytes": 31064, + "recomputable_bytes": 29832, + "bytes_by_category": { + "primitive:scan": 15840, + "primitive:dot_general": 7328, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:conj": 880, + "primitive:stack": 832, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 112, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 12, + 49 + ], + [ + 1, + 15 + ], + [ + 7, + 43 + ], + [ + 4, + 16 + ], + [ + 10, + 43 + ], + [ + 10, + 42 + ], + [ + 4, + 13 + ], + [ + 3, + 11 + ], + [ + 1, + 8 + ], + [ + 4, + 32 + ], + [ + 3, + 66 + ], + [ + 10, + 17 + ], + [ + 2, + 6 + ], + [ + 18, + 51 + ], + [ + 24, + 56 + ], + [ + 0, + 56 + ], + [ + 33, + 40 + ], + [ + 0, + 3 + ], + [ + 24, + 64 + ], + [ + 1, + 22 + ], + [ + 4, + 48 + ], + [ + 32, + 39 + ], + [ + 15, + 40 + ], + [ + 0, + 18 + ], + [ + 9, + 14 + ], + [ + 18, + 53 + ], + [ + 15, + 51 + ], + [ + 12, + 32 + ], + [ + 17, + 23 + ], + [ + 4, + 41 + ], + [ + 2, + 6 + ], + [ + 18, + 22 + ], + [ + 0, + 38 + ], + [ + 7, + 48 + ], + [ + 2, + 46 + ], + [ + 9, + 13 + ], + [ + 10, + 24 + ], + [ + 12, + 17 + ], + [ + 14, + 17 + ], + [ + 8, + 10 + ], + [ + 10, + 39 + ], + [ + 11, + 26 + ], + [ + 9, + 10 + ], + [ + 8, + 30 + ], + [ + 0, + 14 + ], + [ + 6, + 8 + ], + [ + 12, + 22 + ], + [ + 23, + 34 + ], + [ + 3, + 5 + ], + [ + 7, + 14 + ], + [ + 0, + 15 + ], + [ + 4, + 13 + ], + [ + 6, + 26 + ], + [ + 4, + 16 + ], + [ + 4, + 8 + ], + [ + 0, + 21 + ], + [ + 5, + 19 + ], + [ + 15, + 26 + ], + [ + 1, + 25 + ], + [ + 3, + 10 + ], + [ + 4, + 12 + ], + [ + 7, + 12 + ], + [ + 13, + 14 + ], + [ + 8, + 20 + ], + [ + 13, + 14 + ], + [ + 13, + 16 + ], + [ + 7, + 17 + ], + [ + 5, + 16 + ], + [ + 6, + 13 + ], + [ + 5, + 12 + ], + [ + 2, + 13 + ], + [ + 7, + 10 + ], + [ + 8, + 9 + ], + [ + 7, + 8 + ], + [ + 0, + 5 + ], + [ + 3, + 5 + ], + [ + 3, + 6 + ], + [ + 2, + 4 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 6.006238209000003, + "first_execute_seconds": 0.0022440000029746443, + "warm_seconds_median": 0.0005248339984973427, + "warm_seconds_mad": 0.00010766700142994523, + "peak_rss_bytes": 315785216, + "energy_abs_error": 2.384185791015625e-06, + "gradient_relative_l2_error": 1.3149120714815092e-06, + "valid": true, + "failure": null, + "worker_pid": 37909, + "parent_pid": 37308, + "energy": -7.857043266296387, + "gradient": [ + [ + [ + 0.015582314692437649, + 0.16267922520637512, + 0.4295192360877991, + 0.5784919857978821, + 0.14390483498573303, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016315164975821972, + -0.04916920140385628, + -0.07137028127908707, + 0.04252932220697403, + 0.018034616485238075, + -0.16026043891906738, + -0.1268349587917328 + ] + ], + [ + [ + -0.1835922747850418, + -0.024095211178064346, + 0.37242937088012695, + 0.3628050684928894, + -0.104088194668293, + 0.41859307885169983, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588510751724243, + -0.0586484931409359, + -0.21433739364147186, + -0.048685114830732346, + -0.10687987506389618, + -0.22707581520080566, + -0.057777322828769684 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 29064 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 18888, + "contractions_per_energy": 1, + "estimated_energy_flops": 18888, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 27824, + "recomputable_bytes": 26976, + "bytes_by_category": { + "primitive:dot_general": 18816, + "jitted:_diag": 4256, + "primitive:conj": 1472, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 352, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 1, + 32 + ], + [ + 2, + 31 + ], + [ + 2, + 30 + ], + [ + 2, + 29 + ], + [ + 2, + 28 + ], + [ + 2, + 27 + ], + [ + 2, + 26 + ], + [ + 0, + 56 + ], + [ + 0, + 61 + ], + [ + 0, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 9, + 17 + ], + [ + 10, + 16 + ], + [ + 10, + 15 + ], + [ + 10, + 14 + ], + [ + 10, + 13 + ], + [ + 10, + 12 + ], + [ + 10, + 11 + ], + [ + 1, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 16 + ], + [ + 1, + 15 + ], + [ + 1, + 14 + ], + [ + 1, + 13 + ], + [ + 1, + 12 + ], + [ + 1, + 11 + ], + [ + 0, + 10 + ], + [ + 0, + 14 + ], + [ + 1, + 28 + ], + [ + 1, + 27 + ], + [ + 1, + 26 + ], + [ + 1, + 25 + ], + [ + 1, + 24 + ], + [ + 1, + 23 + ], + [ + 0, + 22 + ], + [ + 0, + 27 + ], + [ + 10, + 26 + ], + [ + 11, + 34 + ], + [ + 10, + 24 + ], + [ + 16, + 32 + ], + [ + 16, + 28 + ], + [ + 20, + 27 + ], + [ + 15, + 29 + ], + [ + 24, + 28 + ], + [ + 0, + 24 + ], + [ + 9, + 26 + ], + [ + 23, + 25 + ], + [ + 4, + 22 + ], + [ + 16, + 23 + ], + [ + 21, + 22 + ], + [ + 4, + 16 + ], + [ + 4, + 15 + ], + [ + 18, + 19 + ], + [ + 4, + 14 + ], + [ + 4, + 13 + ], + [ + 15, + 16 + ], + [ + 3, + 12 + ], + [ + 6, + 14 + ], + [ + 9, + 13 + ], + [ + 11, + 12 + ], + [ + 8, + 11 + ], + [ + 5, + 10 + ], + [ + 2, + 9 + ], + [ + 0, + 6 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 2, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 8.305914167001902, + "first_execute_seconds": 0.003003875001013512, + "warm_seconds_median": 0.0004310410004109144, + "warm_seconds_mad": 8.33750018500723e-05, + "peak_rss_bytes": 319766528, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.378262265054704e-06, + "valid": true, + "failure": null, + "worker_pid": 37415, + "parent_pid": 37308, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.015582213178277016, + 0.16267919540405273, + 0.4295191466808319, + 0.5784918665885925, + 0.14390483498573303, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016319638234563172, + -0.04916917160153389, + -0.07137015461921692, + 0.04252932220697403, + 0.018034672364592552, + -0.16026045382022858, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409524843096733, + 0.3724292516708374, + 0.36280497908592224, + -0.10408815741539001, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588508516550064, + -0.058648403733968735, + -0.2143373042345047, + -0.04868508502840996, + -0.10687986016273499, + -0.2270757257938385, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 516, + "temp_size_in_bytes": 29512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19152, + "contractions_per_energy": 1, + "estimated_energy_flops": 19152, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 28880, + "recomputable_bytes": 28032, + "bytes_by_category": { + "primitive:dot_general": 19904, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:scatter": 288, + "primitive:concatenate": 256, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 9, + 46 + ], + [ + 9, + 45 + ], + [ + 4, + 17 + ], + [ + 11, + 45 + ], + [ + 3, + 14 + ], + [ + 5, + 15 + ], + [ + 1, + 10 + ], + [ + 5, + 35 + ], + [ + 7, + 36 + ], + [ + 5, + 33 + ], + [ + 9, + 17 + ], + [ + 5, + 30 + ], + [ + 1, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 3 + ], + [ + 6, + 12 + ], + [ + 1, + 52 + ], + [ + 13, + 44 + ], + [ + 0, + 54 + ], + [ + 17, + 47 + ], + [ + 3, + 8 + ], + [ + 16, + 23 + ], + [ + 26, + 33 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 21, + 27 + ], + [ + 0, + 42 + ], + [ + 15, + 52 + ], + [ + 20, + 50 + ], + [ + 7, + 43 + ], + [ + 15, + 19 + ], + [ + 8, + 27 + ], + [ + 13, + 16 + ], + [ + 6, + 21 + ], + [ + 12, + 14 + ], + [ + 12, + 13 + ], + [ + 5, + 15 + ], + [ + 11, + 42 + ], + [ + 7, + 39 + ], + [ + 6, + 26 + ], + [ + 8, + 31 + ], + [ + 4, + 9 + ], + [ + 5, + 17 + ], + [ + 4, + 25 + ], + [ + 1, + 12 + ], + [ + 14, + 18 + ], + [ + 22, + 31 + ], + [ + 7, + 36 + ], + [ + 19, + 34 + ], + [ + 4, + 26 + ], + [ + 3, + 11 + ], + [ + 5, + 7 + ], + [ + 8, + 9 + ], + [ + 0, + 1 + ], + [ + 20, + 26 + ], + [ + 3, + 5 + ], + [ + 4, + 17 + ], + [ + 3, + 18 + ], + [ + 13, + 25 + ], + [ + 23, + 24 + ], + [ + 3, + 8 + ], + [ + 15, + 22 + ], + [ + 14, + 17 + ], + [ + 14, + 20 + ], + [ + 0, + 18 + ], + [ + 3, + 17 + ], + [ + 10, + 11 + ], + [ + 6, + 11 + ], + [ + 11, + 13 + ], + [ + 7, + 14 + ], + [ + 3, + 7 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 3, + 9 + ], + [ + 4, + 7 + ], + [ + 2, + 7 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 1, + 5 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 6.801007958001719, + "first_execute_seconds": 0.0041535000018484425, + "warm_seconds_median": 0.0004623750028258655, + "warm_seconds_mad": 5.225000495556742e-05, + "peak_rss_bytes": 313507840, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.4095310066278099e-06, + "valid": true, + "failure": null, + "worker_pid": 37747, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558228675276041, + 0.16267921030521393, + 0.4295191168785095, + 0.5784918069839478, + 0.14390483498573303, + 0.5593964457511902, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780522927641869, + 0.00016307731857523322, + -0.0491691417992115, + -0.0713701918721199, + 0.04252932220697403, + 0.018034661188721657, + -0.1602603793144226, + -0.12683497369289398 + ] + ], + [ + [ + -0.183592289686203, + -0.024095211178064346, + 0.372429221868515, + 0.36280500888824463, + -0.10408807545900345, + 0.41859298944473267, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588504791259766, + -0.05864843353629112, + -0.21433725953102112, + -0.04868510738015175, + -0.10687987506389618, + -0.22707578539848328, + -0.057777389883995056 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 524, + "temp_size_in_bytes": 27592 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 84, + "input_tensor_elements": 848, + "path_flops": 19224, + "contractions_per_energy": 1, + "estimated_energy_flops": 19224, + "estimated_energy_tensor_bindings": 84, + "largest_intermediate_elements": 96, + "contraction_steps": 83, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 768, + "residual_profile": { + "residual_count": 454, + "total_bytes": 26992, + "recomputable_bytes": 26144, + "bytes_by_category": { + "primitive:dot_general": 17952, + "jitted:_diag": 4256, + "primitive:conj": 1536, + "primitive:reshape": 896, + "literal": 832, + "primitive:exp": 448, + "primitive:concatenate": 320, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:cos": 128, + "primitive:sin": 128, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.3925347919976048, + "first_execute_seconds": 0.0031589999998686835, + "warm_seconds_median": 0.0005064169999968726, + "warm_seconds_mad": 4.579199958243407e-05, + "peak_rss_bytes": 295993344, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 38019, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 29472 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6529764590013656, + "first_execute_seconds": 0.0016758329984440934, + "warm_seconds_median": 0.0006014579994371161, + "warm_seconds_mad": 6.049999865354039e-05, + "peak_rss_bytes": 302415872, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5158613083483794e-06, + "valid": true, + "failure": null, + "worker_pid": 38075, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.16267916560173035, + 0.4295189678668976, + 0.5784916877746582, + 0.14390477538108826, + 0.5593962669372559, + 0.438432514667511, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001631967315915972, + -0.0491691492497921, + -0.07137016952037811, + 0.04252944514155388, + 0.018034664914011955, + -0.1602603942155838, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095207452774048, + 0.37242913246154785, + 0.3628048896789551, + -0.10408812761306763, + 0.4185929298400879, + 0.24043141305446625, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864844098687172, + -0.21433725953102112, + -0.04868509992957115, + -0.10687984526157379, + -0.22707577049732208, + -0.0577772781252861 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 4117, + "temp_size_in_bytes": 30736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 138, + "total_bytes": 25952, + "recomputable_bytes": 23056, + "bytes_by_category": { + "primitive:scan": 20544, + "constant": 2752, + "primitive:dot_general": 896, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.5396265000017593, + "first_execute_seconds": 0.00660733300173888, + "warm_seconds_median": 0.0007005840016063303, + "warm_seconds_mad": 7.270700007211417e-05, + "peak_rss_bytes": 303546368, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5806519631848589e-06, + "valid": true, + "failure": null, + "worker_pid": 38111, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390479028224945, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016319686255883425, + -0.0491691492497921, + -0.07137016952037811, + 0.04252926632761955, + 0.01803465746343136, + -0.1602603942155838, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048300743103, + -0.10408809781074524, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864841863512993, + -0.21433722972869873, + -0.048685070127248764, + -0.1068798378109932, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 953, + "temp_size_in_bytes": 30320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 24464, + "recomputable_bytes": 24064, + "bytes_by_category": { + "primitive:scan": 19584, + "primitive:dot_general": 960, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:reshape": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.8732934999970894, + "first_execute_seconds": 0.002109458000632003, + "warm_seconds_median": 0.0005795420001959428, + "warm_seconds_mad": 3.225000182283111e-05, + "peak_rss_bytes": 304431104, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5637944687006815e-06, + "valid": true, + "failure": null, + "worker_pid": 38151, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016319686255883425, + -0.049169134348630905, + -0.07137016206979752, + 0.04252929612994194, + 0.018034661188721657, + -0.1602603793144226, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048598766327, + -0.10408810526132584, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588501811027527, + -0.058648426085710526, + -0.21433722972869873, + -0.04868507757782936, + -0.10687985271215439, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 30736 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 132, + "total_bytes": 22880, + "recomputable_bytes": 22480, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 960, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.668988167002681, + "first_execute_seconds": 0.004563709000649396, + "warm_seconds_median": 0.0006070409981475677, + "warm_seconds_mad": 5.9832997067132965e-05, + "peak_rss_bytes": 321077248, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.5752289607826434e-06, + "valid": true, + "failure": null, + "worker_pid": 38226, + "parent_pid": 37308, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582293272018433, + 0.16267916560173035, + 0.4295189380645752, + 0.5784916877746582, + 0.14390479028224945, + 0.5593962669372559, + 0.43843239545822144, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016321177827194333, + -0.0491691417992115, + -0.07137016952037811, + 0.04252941533923149, + 0.018034638836979866, + -0.16026028990745544, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095196276903152, + 0.37242913246154785, + 0.3628048598766327, + -0.10408809781074524, + 0.4185928702354431, + 0.24043142795562744, + 0.0 + ], + [ + 0.04162909463047981, + 0.08588501811027527, + -0.05864841118454933, + -0.21433722972869873, + -0.04868508502840996, + -0.10687984526157379, + -0.2270757108926773, + -0.05777725949883461 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2784, + "temp_size_in_bytes": 33616 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 138, + "total_bytes": 24224, + "recomputable_bytes": 21328, + "bytes_by_category": { + "primitive:scan": 18816, + "constant": 2752, + "primitive:dot_general": 896, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 7, + 8 + ], + [ + 11, + 12 + ], + [ + 11, + 13 + ], + [ + 1, + 3 + ], + [ + 2, + 11 + ], + [ + 2, + 10 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.881960042002902, + "first_execute_seconds": 0.008949291001044912, + "warm_seconds_median": 0.0008336659993801732, + "warm_seconds_mad": 0.00020433199824765325, + "peak_rss_bytes": 267567104, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5806519631848589e-06, + "valid": true, + "failure": null, + "worker_pid": 38310, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.16267919540405273, + 0.4295189082622528, + 0.5784916877746582, + 0.14390479028224945, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016319686255883425, + -0.0491691492497921, + -0.07137016952037811, + 0.04252926632761955, + 0.01803465746343136, + -0.1602603942155838, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095188826322556, + 0.37242913246154785, + 0.3628048300743103, + -0.10408809781074524, + 0.4185928404331207, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864841863512993, + -0.21433722972869873, + -0.048685070127248764, + -0.1068798378109932, + -0.2270756959915161, + -0.057777289301157 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 32976 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 2944, + "bulk_block_path_flops": 2944, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 18628, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 18628, + "total_backward_flops": 37124, + "total_flops": 55752, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 520, + "static_score": 136516, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 2944, + "backward_flops": 5872, + "forward_read_elements": 520, + "forward_write_elements": 400, + "backward_read_elements": 1320, + "backward_write_elements": 520, + "residual_elements": 520, + "peak_live_residual_elements": 520, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 8816, + "traffic_elements": 2760 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 142, + "total_bytes": 24464, + "recomputable_bytes": 24064, + "bytes_by_category": { + "primitive:scan": 19584, + "primitive:dot_general": 960, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "primitive:reshape": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 23, + 24 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 12 + ], + [ + 5, + 6 + ], + [ + 3, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 9 + ], + [ + 6, + 7 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 0, + 8 + ], + [ + 8, + 9 + ], + [ + 0, + 7 + ], + [ + 5, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.6496350829984294, + "first_execute_seconds": 0.002697500000067521, + "warm_seconds_median": 0.0007868749999033753, + "warm_seconds_mad": 0.00010037500032922253, + "peak_rss_bytes": 312950784, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5503022302399132e-06, + "valid": true, + "failure": null, + "worker_pid": 38503, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.16267915070056915, + 0.42951905727386475, + 0.5784916877746582, + 0.14390474557876587, + 0.5593962669372559, + 0.438432514667511, + 0.0 + ], + [ + -0.0127804484218359, + 0.0001631221966817975, + -0.0491691492497921, + -0.0713702067732811, + 0.042529355734586716, + 0.018034713342785835, + -0.1602603644132614, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095267057418823, + 0.37242913246154785, + 0.36280494928359985, + -0.10408814251422882, + 0.4185928702354431, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864841118454933, + -0.21433718502521515, + -0.048685114830732346, + -0.10687978565692902, + -0.2270756959915161, + -0.05777725949883461 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 30304 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6144, + "bulk_block_path_flops": 6144, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19396, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19396, + "total_backward_flops": 38660, + "total_flops": 58056, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 1040, + "static_score": 147140, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6144, + "backward_flops": 12256, + "forward_read_elements": 1040, + "forward_write_elements": 800, + "backward_read_elements": 2640, + "backward_write_elements": 1040, + "residual_elements": 1040, + "peak_live_residual_elements": 1040, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18400, + "traffic_elements": 5520 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 19968, + "recomputable_bytes": 19440, + "bytes_by_category": { + "primitive:scan": 16608, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 23, + 24 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 12 + ], + [ + 5, + 6 + ], + [ + 3, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 9 + ], + [ + 6, + 7 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 0, + 8 + ], + [ + 8, + 9 + ], + [ + 0, + 7 + ], + [ + 5, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.997780749999947, + "first_execute_seconds": 0.002307042002939852, + "warm_seconds_median": 0.0006040840016794391, + "warm_seconds_mad": 3.2709001970943063e-05, + "peak_rss_bytes": 315572224, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.4753769854358505e-06, + "valid": true, + "failure": null, + "worker_pid": 38605, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582263469696045, + 0.16267909109592438, + 0.42951905727386475, + 0.578491747379303, + 0.14390477538108826, + 0.5593962073326111, + 0.438432514667511, + 0.0 + ], + [ + -0.0127804484218359, + 0.0001631818595342338, + -0.04916911944746971, + -0.07137012481689453, + 0.0425293855369091, + 0.01803465746343136, + -0.16026034951210022, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359220027923584, + -0.02409518137574196, + 0.37242916226387024, + 0.36280500888824463, + -0.10408811271190643, + 0.4185928702354431, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864841863512993, + -0.21433725953102112, + -0.048685137182474136, + -0.10687986016273499, + -0.2270757555961609, + -0.0577772781252861 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3841, + "temp_size_in_bytes": 36368 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6144, + "bulk_block_path_flops": 6144, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19396, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19396, + "total_backward_flops": 38660, + "total_flops": 58056, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 1040, + "static_score": 147140, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6144, + "backward_flops": 12256, + "forward_read_elements": 1040, + "forward_write_elements": 800, + "backward_read_elements": 2640, + "backward_write_elements": 1040, + "residual_elements": 1040, + "peak_live_residual_elements": 1040, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18400, + "traffic_elements": 5520 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 182, + "total_bytes": 26304, + "recomputable_bytes": 23280, + "bytes_by_category": { + "primitive:scan": 20448, + "constant": 2880, + "primitive:dot_general": 960, + "primitive:stack": 512, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 23, + 24 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 12 + ], + [ + 5, + 6 + ], + [ + 3, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 9 + ], + [ + 6, + 7 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 0, + 8 + ], + [ + 8, + 9 + ], + [ + 0, + 7 + ], + [ + 5, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.404661208001926, + "first_execute_seconds": 0.002085708998492919, + "warm_seconds_median": 0.000556166996830143, + "warm_seconds_mad": 2.599999788799323e-05, + "peak_rss_bytes": 321110016, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.576738135317756e-06, + "valid": true, + "failure": null, + "worker_pid": 38653, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582296997308731, + 0.16267910599708557, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962073326111, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631370687391609, + -0.04916917160153389, + -0.0713702142238617, + 0.042529355734586716, + 0.018034743145108223, + -0.16026034951210022, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359220027923584, + -0.02409527078270912, + 0.37242913246154785, + 0.3628048896789551, + -0.10408813506364822, + 0.4185928702354431, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588498830795288, + -0.058648403733968735, + -0.21433719992637634, + -0.04868510738015175, + -0.10687978565692902, + -0.2270756959915161, + -0.05777723714709282 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 965, + "temp_size_in_bytes": 31088 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6144, + "bulk_block_path_flops": 6144, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19396, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19396, + "total_backward_flops": 38660, + "total_flops": 58056, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 1040, + "static_score": 147140, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6144, + "backward_flops": 12256, + "forward_read_elements": 1040, + "forward_write_elements": 800, + "backward_read_elements": 2640, + "backward_write_elements": 1040, + "residual_elements": 1040, + "peak_live_residual_elements": 1040, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18400, + "traffic_elements": 5520 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 186, + "total_bytes": 21552, + "recomputable_bytes": 21024, + "bytes_by_category": { + "primitive:scan": 16224, + "primitive:dot_general": 1024, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 23, + 24 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 12 + ], + [ + 5, + 6 + ], + [ + 3, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 9 + ], + [ + 6, + 7 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 0, + 8 + ], + [ + 8, + 9 + ], + [ + 0, + 7 + ], + [ + 5, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.292176124999969, + "first_execute_seconds": 0.0031765829990035854, + "warm_seconds_median": 0.0005942499992670491, + "warm_seconds_mad": 2.8832997486460954e-05, + "peak_rss_bytes": 314933248, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5503022302399132e-06, + "valid": true, + "failure": null, + "worker_pid": 38713, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.16267915070056915, + 0.42951905727386475, + 0.5784916877746582, + 0.14390474557876587, + 0.5593962669372559, + 0.438432514667511, + 0.0 + ], + [ + -0.0127804484218359, + 0.0001631221966817975, + -0.0491691492497921, + -0.0713702067732811, + 0.042529355734586716, + 0.018034713342785835, + -0.1602603644132614, + -0.12683479487895966 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095267057418823, + 0.37242913246154785, + 0.36280494928359985, + -0.10408814251422882, + 0.4185928702354431, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588497340679169, + -0.05864841118454933, + -0.21433718502521515, + -0.048685114830732346, + -0.10687978565692902, + -0.2270756959915161, + -0.05777725949883461 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 23320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6144, + "bulk_block_path_flops": 6144, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19396, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19396, + "total_backward_flops": 38660, + "total_flops": 58056, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 1040, + "static_score": 147140, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6144, + "backward_flops": 12256, + "forward_read_elements": 1040, + "forward_write_elements": 800, + "backward_read_elements": 2640, + "backward_write_elements": 1040, + "residual_elements": 1040, + "peak_live_residual_elements": 1040, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18400, + "traffic_elements": 5520 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 176, + "total_bytes": 19968, + "recomputable_bytes": 19440, + "bytes_by_category": { + "primitive:scan": 16608, + "primitive:dot_general": 1024, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 23, + 24 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 12 + ], + [ + 5, + 6 + ], + [ + 3, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 9 + ], + [ + 6, + 7 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 0, + 8 + ], + [ + 8, + 9 + ], + [ + 0, + 7 + ], + [ + 5, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.14456925000195, + "first_execute_seconds": 0.004780208000738639, + "warm_seconds_median": 0.0006473749999713618, + "warm_seconds_mad": 6.970799950067885e-05, + "peak_rss_bytes": 280969216, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.4861283361761269e-06, + "valid": true, + "failure": null, + "worker_pid": 38858, + "parent_pid": 37308, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.015582283958792686, + 0.16267918050289154, + 0.42951908707618713, + 0.5784916877746582, + 0.14390474557876587, + 0.5593962669372559, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016316675464622676, + -0.049169156700372696, + -0.07137016206979752, + 0.04252929612994194, + 0.01803460903465748, + -0.16026043891906738, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095211178064346, + 0.3724291920661926, + 0.362805038690567, + -0.10408810526132584, + 0.41859298944473267, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588503301143646, + -0.058648448437452316, + -0.2143372893333435, + -0.04868510738015175, + -0.10687986761331558, + -0.22707563638687134, + -0.05777724087238312 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3072, + "temp_size_in_bytes": 29208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6144, + "bulk_block_path_flops": 6144, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19396, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19396, + "total_backward_flops": 38660, + "total_flops": 58056, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 1040, + "static_score": 147140, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6144, + "backward_flops": 12256, + "forward_read_elements": 1040, + "forward_write_elements": 800, + "backward_read_elements": 2640, + "backward_write_elements": 1040, + "residual_elements": 1040, + "peak_live_residual_elements": 1040, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18400, + "traffic_elements": 5520 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 182, + "total_bytes": 26112, + "recomputable_bytes": 23088, + "bytes_by_category": { + "primitive:scan": 20256, + "constant": 2880, + "primitive:dot_general": 960, + "primitive:stack": 512, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 16, + 17 + ], + [ + 21, + 22 + ], + [ + 2, + 9 + ], + [ + 3, + 4 + ], + [ + 1, + 2 + ], + [ + 23, + 24 + ], + [ + 4, + 5 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 12 + ], + [ + 5, + 6 + ], + [ + 3, + 7 + ], + [ + 5, + 6 + ], + [ + 3, + 9 + ], + [ + 6, + 7 + ], + [ + 5, + 10 + ], + [ + 4, + 8 + ], + [ + 0, + 8 + ], + [ + 8, + 9 + ], + [ + 0, + 7 + ], + [ + 5, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.652365665999241, + "first_execute_seconds": 0.0019425840000621974, + "warm_seconds_median": 0.0005887080005777534, + "warm_seconds_mad": 5.212500036577694e-05, + "peak_rss_bytes": 316751872, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.576738135317756e-06, + "valid": true, + "failure": null, + "worker_pid": 39041, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582296997308731, + 0.16267910599708557, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962073326111, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631370687391609, + -0.04916917160153389, + -0.0713702142238617, + 0.042529355734586716, + 0.018034743145108223, + -0.16026034951210022, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359220027923584, + -0.02409527078270912, + 0.37242913246154785, + 0.3628048896789551, + -0.10408813506364822, + 0.4185928702354431, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588498830795288, + -0.058648403733968735, + -0.21433719992637634, + -0.04868510738015175, + -0.10687978565692902, + -0.2270756959915161, + -0.05777723714709282 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 24920 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 6144, + "bulk_block_path_flops": 6144, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 19396, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19396, + "total_backward_flops": 38660, + "total_flops": 58056, + "total_traffic_elements": 18111, + "total_traffic_bytes": 144888, + "peak_role_residual_elements": 1040, + "static_score": 147140, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 6144, + "backward_flops": 12256, + "forward_read_elements": 1040, + "forward_write_elements": 800, + "backward_read_elements": 2640, + "backward_write_elements": 1040, + "residual_elements": 1040, + "peak_live_residual_elements": 1040, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18400, + "traffic_elements": 5520 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 186, + "total_bytes": 21552, + "recomputable_bytes": 21024, + "bytes_by_category": { + "primitive:scan": 16224, + "primitive:dot_general": 1024, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 512, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 368, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 39, + 40 + ], + [ + 20, + 21 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 33, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 38 + ], + [ + 18, + 19 + ], + [ + 6, + 12 + ], + [ + 1, + 2 + ], + [ + 22, + 24 + ], + [ + 16, + 17 + ], + [ + 1, + 2 + ], + [ + 25, + 28 + ], + [ + 0, + 19 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 6, + 8 + ], + [ + 2, + 4 + ], + [ + 9, + 22 + ], + [ + 12, + 13 + ], + [ + 12, + 20 + ], + [ + 7, + 18 + ], + [ + 6, + 14 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 11, + 14 + ], + [ + 1, + 11 + ], + [ + 2, + 11 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.1905823749984847, + "first_execute_seconds": 0.002690749999601394, + "warm_seconds_median": 0.0005440419990918599, + "warm_seconds_mad": 3.9999998989515007e-05, + "peak_rss_bytes": 324337664, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5723475757506159e-06, + "valid": true, + "failure": null, + "worker_pid": 39131, + "parent_pid": 37308, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267910599708557, + 0.42951899766921997, + 0.578491747379303, + 0.14390477538108826, + 0.5593961477279663, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631520572118461, + -0.04916917905211449, + -0.0713701993227005, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603644132614, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359212577342987, + -0.024095196276903152, + 0.3724290728569031, + 0.36280494928359985, + -0.10408814251422882, + 0.41859281063079834, + 0.24043133854866028, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864844098687172, + -0.21433724462985992, + -0.04868507757782936, + -0.10687984526157379, + -0.22707568109035492, + -0.057777244597673416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 42336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10416, + "bulk_block_path_flops": 10416, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 21796, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21796, + "total_backward_flops": 43460, + "total_flops": 65256, + "total_traffic_elements": 19599, + "total_traffic_bytes": 156792, + "peak_role_residual_elements": 1684, + "static_score": 170596, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10416, + "backward_flops": 20784, + "forward_read_elements": 1684, + "forward_write_elements": 1324, + "backward_read_elements": 4332, + "backward_write_elements": 1684, + "residual_elements": 1684, + "peak_live_residual_elements": 1684, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31200, + "traffic_elements": 9024 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 25504, + "recomputable_bytes": 24848, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1088, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 39, + 40 + ], + [ + 20, + 21 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 33, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 38 + ], + [ + 18, + 19 + ], + [ + 6, + 12 + ], + [ + 1, + 2 + ], + [ + 22, + 24 + ], + [ + 16, + 17 + ], + [ + 1, + 2 + ], + [ + 25, + 28 + ], + [ + 0, + 19 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 6, + 8 + ], + [ + 2, + 4 + ], + [ + 9, + 22 + ], + [ + 12, + 13 + ], + [ + 12, + 20 + ], + [ + 7, + 18 + ], + [ + 6, + 14 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 11, + 14 + ], + [ + 1, + 11 + ], + [ + 2, + 11 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.385234875000606, + "first_execute_seconds": 0.008291625003039371, + "warm_seconds_median": 0.0006215000030351803, + "warm_seconds_mad": 8.512500426149927e-05, + "peak_rss_bytes": 341557248, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5049994541440891e-06, + "valid": true, + "failure": null, + "worker_pid": 39226, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267916560173035, + 0.42951899766921997, + 0.578491747379303, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016316695837303996, + -0.049169134348630905, + -0.07137012481689453, + 0.04252926632761955, + 0.018034694716334343, + -0.1602603942155838, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095211178064346, + 0.37242913246154785, + 0.3628048896789551, + -0.10408815741539001, + 0.4185928702354431, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.05864841863512993, + -0.21433721482753754, + -0.048685092478990555, + -0.10687987506389618, + -0.22707578539848328, + -0.0577772781252861 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 4125, + "temp_size_in_bytes": 39312 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10416, + "bulk_block_path_flops": 10416, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 21796, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21796, + "total_backward_flops": 43460, + "total_flops": 65256, + "total_traffic_elements": 19599, + "total_traffic_bytes": 156792, + "peak_role_residual_elements": 1684, + "static_score": 170596, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10416, + "backward_flops": 20784, + "forward_read_elements": 1684, + "forward_write_elements": 1324, + "backward_read_elements": 4332, + "backward_write_elements": 1684, + "residual_elements": 1684, + "peak_live_residual_elements": 1684, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31200, + "traffic_elements": 9024 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 226, + "total_bytes": 25184, + "recomputable_bytes": 22032, + "bytes_by_category": { + "primitive:scan": 18880, + "constant": 3008, + "primitive:dot_general": 1024, + "primitive:stack": 576, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 39, + 40 + ], + [ + 20, + 21 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 33, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 38 + ], + [ + 18, + 19 + ], + [ + 6, + 12 + ], + [ + 1, + 2 + ], + [ + 22, + 24 + ], + [ + 16, + 17 + ], + [ + 1, + 2 + ], + [ + 25, + 28 + ], + [ + 0, + 19 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 6, + 8 + ], + [ + 2, + 4 + ], + [ + 9, + 22 + ], + [ + 12, + 13 + ], + [ + 12, + 20 + ], + [ + 7, + 18 + ], + [ + 6, + 14 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 11, + 14 + ], + [ + 1, + 11 + ], + [ + 2, + 11 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.072129167001549, + "first_execute_seconds": 0.003680333000374958, + "warm_seconds_median": 0.0007343750003201421, + "warm_seconds_mad": 4.579199958243407e-05, + "peak_rss_bytes": 326713344, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5574275159349815e-06, + "valid": true, + "failure": null, + "worker_pid": 39278, + "parent_pid": 37308, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267912089824677, + 0.42951899766921997, + 0.5784918069839478, + 0.14390476047992706, + 0.5593961477279663, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631669292692095, + -0.04916916415095329, + -0.0713701993227005, + 0.04252944514155388, + 0.018034672364592552, + -0.1602603644132614, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359211087226868, + -0.024095196276903152, + 0.37242910265922546, + 0.36280494928359985, + -0.10408813506364822, + 0.41859281063079834, + 0.24043133854866028, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.058648426085710526, + -0.21433725953102112, + -0.048685070127248764, + -0.1068798303604126, + -0.2270756959915161, + -0.05777725949883461 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 961, + "temp_size_in_bytes": 43248 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10416, + "bulk_block_path_flops": 10416, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 21796, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21796, + "total_backward_flops": 43460, + "total_flops": 65256, + "total_traffic_elements": 19599, + "total_traffic_bytes": 156792, + "peak_role_residual_elements": 1684, + "static_score": 170596, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10416, + "backward_flops": 20784, + "forward_read_elements": 1684, + "forward_write_elements": 1324, + "backward_read_elements": 4332, + "backward_write_elements": 1684, + "residual_elements": 1684, + "peak_live_residual_elements": 1684, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31200, + "traffic_elements": 9024 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 230, + "total_bytes": 27088, + "recomputable_bytes": 26432, + "bytes_by_category": { + "primitive:scan": 21312, + "primitive:dot_general": 1088, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:reshape": 384, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 39, + 40 + ], + [ + 20, + 21 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 33, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 38 + ], + [ + 18, + 19 + ], + [ + 6, + 12 + ], + [ + 1, + 2 + ], + [ + 22, + 24 + ], + [ + 16, + 17 + ], + [ + 1, + 2 + ], + [ + 25, + 28 + ], + [ + 0, + 19 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 6, + 8 + ], + [ + 2, + 4 + ], + [ + 9, + 22 + ], + [ + 12, + 13 + ], + [ + 12, + 20 + ], + [ + 7, + 18 + ], + [ + 6, + 14 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 11, + 14 + ], + [ + 1, + 11 + ], + [ + 2, + 11 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.548151583003346, + "first_execute_seconds": 0.0022402909999073017, + "warm_seconds_median": 0.000464082997496007, + "warm_seconds_mad": 3.516699871397577e-05, + "peak_rss_bytes": 296140800, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5723475757506159e-06, + "valid": true, + "failure": null, + "worker_pid": 39353, + "parent_pid": 37308, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267910599708557, + 0.42951899766921997, + 0.578491747379303, + 0.14390477538108826, + 0.5593961477279663, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631520572118461, + -0.04916917905211449, + -0.0713701993227005, + 0.0425293855369091, + 0.018034672364592552, + -0.1602603644132614, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359212577342987, + -0.024095196276903152, + 0.3724290728569031, + 0.36280494928359985, + -0.10408814251422882, + 0.41859281063079834, + 0.24043133854866028, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.05864844098687172, + -0.21433724462985992, + -0.04868507757782936, + -0.10687984526157379, + -0.22707568109035492, + -0.057777244597673416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27672 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10416, + "bulk_block_path_flops": 10416, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 21796, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21796, + "total_backward_flops": 43460, + "total_flops": 65256, + "total_traffic_elements": 19599, + "total_traffic_bytes": 156792, + "peak_role_residual_elements": 1684, + "static_score": 170596, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10416, + "backward_flops": 20784, + "forward_read_elements": 1684, + "forward_write_elements": 1324, + "backward_read_elements": 4332, + "backward_write_elements": 1684, + "residual_elements": 1684, + "peak_live_residual_elements": 1684, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31200, + "traffic_elements": 9024 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 25504, + "recomputable_bytes": 24848, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1088, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 39, + 40 + ], + [ + 20, + 21 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 33, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 38 + ], + [ + 18, + 19 + ], + [ + 6, + 12 + ], + [ + 1, + 2 + ], + [ + 22, + 24 + ], + [ + 16, + 17 + ], + [ + 1, + 2 + ], + [ + 25, + 28 + ], + [ + 0, + 19 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 6, + 8 + ], + [ + 2, + 4 + ], + [ + 9, + 22 + ], + [ + 12, + 13 + ], + [ + 12, + 20 + ], + [ + 7, + 18 + ], + [ + 6, + 14 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 11, + 14 + ], + [ + 1, + 11 + ], + [ + 2, + 11 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 9.55682833299943, + "first_execute_seconds": 0.003707290998136159, + "warm_seconds_median": 0.0007719169989286456, + "warm_seconds_mad": 6.24169988441281e-05, + "peak_rss_bytes": 313868288, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.407721839360139e-06, + "valid": true, + "failure": null, + "worker_pid": 39562, + "parent_pid": 37308, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.015582285821437836, + 0.16267913579940796, + 0.4295191764831543, + 0.5784918069839478, + 0.1439047008752823, + 0.5593963265419006, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016322624287568033, + -0.049169134348630905, + -0.07137016206979752, + 0.04252920672297478, + 0.018034638836979866, + -0.16026051342487335, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095192551612854, + 0.3724291920661926, + 0.36280491948127747, + -0.10408814996480942, + 0.41859298944473267, + 0.2404315024614334, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588498830795288, + -0.058648403733968735, + -0.2143372744321823, + -0.048685092478990555, + -0.10687998682260513, + -0.2270757555961609, + -0.057777270674705505 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3072, + "temp_size_in_bytes": 31064 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10416, + "bulk_block_path_flops": 10416, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 21796, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21796, + "total_backward_flops": 43460, + "total_flops": 65256, + "total_traffic_elements": 19599, + "total_traffic_bytes": 156792, + "peak_role_residual_elements": 1684, + "static_score": 170596, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10416, + "backward_flops": 20784, + "forward_read_elements": 1684, + "forward_write_elements": 1324, + "backward_read_elements": 4332, + "backward_write_elements": 1684, + "residual_elements": 1684, + "peak_live_residual_elements": 1684, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31200, + "traffic_elements": 9024 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 226, + "total_bytes": 27040, + "recomputable_bytes": 23888, + "bytes_by_category": { + "primitive:scan": 20736, + "constant": 3008, + "primitive:dot_general": 1024, + "primitive:stack": 576, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 39, + 40 + ], + [ + 20, + 21 + ], + [ + 27, + 29 + ], + [ + 27, + 33 + ], + [ + 33, + 34 + ], + [ + 14, + 16 + ], + [ + 3, + 38 + ], + [ + 18, + 19 + ], + [ + 6, + 12 + ], + [ + 1, + 2 + ], + [ + 22, + 24 + ], + [ + 16, + 17 + ], + [ + 1, + 2 + ], + [ + 25, + 28 + ], + [ + 0, + 19 + ], + [ + 1, + 2 + ], + [ + 6, + 7 + ], + [ + 2, + 3 + ], + [ + 7, + 8 + ], + [ + 7, + 8 + ], + [ + 6, + 8 + ], + [ + 2, + 4 + ], + [ + 9, + 22 + ], + [ + 12, + 13 + ], + [ + 12, + 20 + ], + [ + 7, + 18 + ], + [ + 6, + 14 + ], + [ + 1, + 10 + ], + [ + 1, + 9 + ], + [ + 11, + 14 + ], + [ + 1, + 11 + ], + [ + 2, + 11 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 0, + 9 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 2, + 3 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.562485624999681, + "first_execute_seconds": 0.005059041999629699, + "warm_seconds_median": 0.0008225419987866189, + "warm_seconds_mad": 0.00017683300029602833, + "peak_rss_bytes": 303742976, + "energy_abs_error": 8.58306884765625e-06, + "gradient_relative_l2_error": 1.5574275159349815e-06, + "valid": true, + "failure": null, + "worker_pid": 40017, + "parent_pid": 37308, + "energy": -7.85703706741333, + "gradient": [ + [ + [ + 0.015582256019115448, + 0.16267912089824677, + 0.42951899766921997, + 0.5784918069839478, + 0.14390476047992706, + 0.5593961477279663, + 0.438432514667511, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631669292692095, + -0.04916916415095329, + -0.0713701993227005, + 0.04252944514155388, + 0.018034672364592552, + -0.1602603644132614, + -0.12683477997779846 + ] + ], + [ + [ + -0.18359211087226868, + -0.024095196276903152, + 0.37242910265922546, + 0.36280494928359985, + -0.10408813506364822, + 0.41859281063079834, + 0.24043133854866028, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588500320911407, + -0.058648426085710526, + -0.21433725953102112, + -0.048685070127248764, + -0.1068798303604126, + -0.2270756959915161, + -0.05777725949883461 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 28952 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 480, + "bulk_path_flops": 10416, + "bulk_block_path_flops": 10416, + "tail_path_flops": 0, + "last_path_flops": 484, + "estimated_energy_flops": 21796, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 21796, + "total_backward_flops": 43460, + "total_flops": 65256, + "total_traffic_elements": 19599, + "total_traffic_bytes": 156792, + "peak_role_residual_elements": 1684, + "static_score": 170596, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 10416, + "backward_flops": 20784, + "forward_read_elements": 1684, + "forward_write_elements": 1324, + "backward_read_elements": 4332, + "backward_write_elements": 1684, + "residual_elements": 1684, + "peak_live_residual_elements": 1684, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 31200, + "traffic_elements": 9024 + }, + "tail": null, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 230, + "total_bytes": 27088, + "recomputable_bytes": 26432, + "bytes_by_category": { + "primitive:scan": 21312, + "primitive:dot_general": 1088, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 576, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:reshape": 384, + "primitive:scatter": 288, + "primitive:concatenate": 160, + "literal": 144, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 8, + 56 + ], + [ + 13, + 54 + ], + [ + 23, + 25 + ], + [ + 36, + 38 + ], + [ + 38, + 39 + ], + [ + 23, + 29 + ], + [ + 31, + 32 + ], + [ + 28, + 49 + ], + [ + 23, + 45 + ], + [ + 1, + 2 + ], + [ + 0, + 39 + ], + [ + 40, + 44 + ], + [ + 27, + 31 + ], + [ + 18, + 19 + ], + [ + 28, + 42 + ], + [ + 15, + 16 + ], + [ + 7, + 8 + ], + [ + 24, + 25 + ], + [ + 22, + 23 + ], + [ + 23, + 24 + ], + [ + 18, + 27 + ], + [ + 8, + 23 + ], + [ + 3, + 4 + ], + [ + 0, + 22 + ], + [ + 10, + 22 + ], + [ + 6, + 7 + ], + [ + 9, + 10 + ], + [ + 2, + 13 + ], + [ + 5, + 17 + ], + [ + 7, + 12 + ], + [ + 13, + 18 + ], + [ + 10, + 15 + ], + [ + 0, + 1 + ], + [ + 2, + 14 + ], + [ + 5, + 14 + ], + [ + 3, + 14 + ], + [ + 10, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 15 + ], + [ + 6, + 17 + ], + [ + 6, + 9 + ], + [ + 7, + 15 + ], + [ + 9, + 12 + ], + [ + 7, + 12 + ], + [ + 10, + 12 + ], + [ + 1, + 11 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 3 + ], + [ + 1, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 11.547212125002261, + "first_execute_seconds": 0.02032058400072856, + "warm_seconds_median": 0.0028774579986929893, + "warm_seconds_mad": 0.002052415999060031, + "peak_rss_bytes": 308920320, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.5584429633873048e-06, + "valid": true, + "failure": null, + "worker_pid": 40117, + "parent_pid": 37308, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.01558230072259903, + 0.16267915070056915, + 0.42951905727386475, + 0.5784916877746582, + 0.14390477538108826, + 0.5593961477279663, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016315194079652429, + -0.04916919395327568, + -0.07137015461921692, + 0.042529355734586716, + 0.018034664914011955, + -0.16026031970977783, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359218537807465, + -0.02409529685974121, + 0.372429221868515, + 0.3628048896789551, + -0.10408812016248703, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588507771492004, + -0.05864833667874336, + -0.21433718502521515, + -0.04868508502840996, + -0.1068798378109932, + -0.2270757257938385, + -0.05777726694941521 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26840 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14944, + "bulk_block_path_flops": 14944, + "tail_path_flops": 6176, + "last_path_flops": 484, + "estimated_energy_flops": 22084, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22084, + "total_backward_flops": 44036, + "total_flops": 66120, + "total_traffic_elements": 19167, + "total_traffic_bytes": 153336, + "peak_role_residual_elements": 2216, + "static_score": 178244, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14944, + "backward_flops": 29824, + "forward_read_elements": 2216, + "forward_write_elements": 1736, + "backward_read_elements": 5688, + "backward_write_elements": 2216, + "residual_elements": 2216, + "peak_live_residual_elements": 2216, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 44768, + "traffic_elements": 11856 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 25536, + "recomputable_bytes": 24304, + "bytes_by_category": { + "primitive:scan": 12992, + "primitive:dot_general": 7232, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 192, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 8, + 56 + ], + [ + 13, + 54 + ], + [ + 23, + 25 + ], + [ + 36, + 38 + ], + [ + 38, + 39 + ], + [ + 23, + 29 + ], + [ + 31, + 32 + ], + [ + 28, + 49 + ], + [ + 23, + 45 + ], + [ + 1, + 2 + ], + [ + 0, + 39 + ], + [ + 40, + 44 + ], + [ + 27, + 31 + ], + [ + 18, + 19 + ], + [ + 28, + 42 + ], + [ + 15, + 16 + ], + [ + 7, + 8 + ], + [ + 24, + 25 + ], + [ + 22, + 23 + ], + [ + 23, + 24 + ], + [ + 18, + 27 + ], + [ + 8, + 23 + ], + [ + 3, + 4 + ], + [ + 0, + 22 + ], + [ + 10, + 22 + ], + [ + 6, + 7 + ], + [ + 9, + 10 + ], + [ + 2, + 13 + ], + [ + 5, + 17 + ], + [ + 7, + 12 + ], + [ + 13, + 18 + ], + [ + 10, + 15 + ], + [ + 0, + 1 + ], + [ + 2, + 14 + ], + [ + 5, + 14 + ], + [ + 3, + 14 + ], + [ + 10, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 15 + ], + [ + 6, + 17 + ], + [ + 6, + 9 + ], + [ + 7, + 15 + ], + [ + 9, + 12 + ], + [ + 7, + 12 + ], + [ + 10, + 12 + ], + [ + 1, + 11 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 3 + ], + [ + 1, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.3400041249988135, + "first_execute_seconds": 0.008849166002619313, + "warm_seconds_median": 0.0008020419991225936, + "warm_seconds_mad": 0.00016145900008268654, + "peak_rss_bytes": 331988992, + "energy_abs_error": 4.76837158203125e-06, + "gradient_relative_l2_error": 1.4166152796823348e-06, + "valid": true, + "failure": null, + "worker_pid": 40491, + "parent_pid": 37308, + "energy": -7.857040882110596, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267919540405273, + 0.4295191466808319, + 0.578491747379303, + 0.14390483498573303, + 0.5593963861465454, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631964696571231, + -0.049169208854436874, + -0.07137030363082886, + 0.04252932220697403, + 0.018034638836979866, + -0.1602603644132614, + -0.12683485448360443 + ] + ], + [ + [ + -0.18359221518039703, + -0.02409520372748375, + 0.3724292516708374, + 0.36280491948127747, + -0.10408809781074524, + 0.41859301924705505, + 0.24043145775794983, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864847078919411, + -0.21433736383914948, + -0.04868515953421593, + -0.10687994211912155, + -0.2270757257938385, + -0.05777730047702789 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3744, + "temp_size_in_bytes": 30232 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14944, + "bulk_block_path_flops": 14944, + "tail_path_flops": 6176, + "last_path_flops": 484, + "estimated_energy_flops": 22084, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22084, + "total_backward_flops": 44036, + "total_flops": 66120, + "total_traffic_elements": 19167, + "total_traffic_bytes": 153336, + "peak_role_residual_elements": 2216, + "static_score": 178244, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14944, + "backward_flops": 29824, + "forward_read_elements": 2216, + "forward_write_elements": 1736, + "backward_read_elements": 5688, + "backward_write_elements": 2216, + "residual_elements": 2216, + "peak_live_residual_elements": 2216, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 44768, + "traffic_elements": 11856 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 30688, + "recomputable_bytes": 25712, + "bytes_by_category": { + "primitive:scan": 14560, + "primitive:dot_general": 6752, + "constant": 4640, + "primitive:conj": 912, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:scatter": 576, + "primitive:transpose": 448, + "literal": 336, + "primitive:concatenate": 256, + "primitive:bcoo_dot_general": 192, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 8, + 56 + ], + [ + 13, + 54 + ], + [ + 23, + 25 + ], + [ + 36, + 38 + ], + [ + 38, + 39 + ], + [ + 23, + 29 + ], + [ + 31, + 32 + ], + [ + 28, + 49 + ], + [ + 23, + 45 + ], + [ + 1, + 2 + ], + [ + 0, + 39 + ], + [ + 40, + 44 + ], + [ + 27, + 31 + ], + [ + 18, + 19 + ], + [ + 28, + 42 + ], + [ + 15, + 16 + ], + [ + 7, + 8 + ], + [ + 24, + 25 + ], + [ + 22, + 23 + ], + [ + 23, + 24 + ], + [ + 18, + 27 + ], + [ + 8, + 23 + ], + [ + 3, + 4 + ], + [ + 0, + 22 + ], + [ + 10, + 22 + ], + [ + 6, + 7 + ], + [ + 9, + 10 + ], + [ + 2, + 13 + ], + [ + 5, + 17 + ], + [ + 7, + 12 + ], + [ + 13, + 18 + ], + [ + 10, + 15 + ], + [ + 0, + 1 + ], + [ + 2, + 14 + ], + [ + 5, + 14 + ], + [ + 3, + 14 + ], + [ + 10, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 15 + ], + [ + 6, + 17 + ], + [ + 6, + 9 + ], + [ + 7, + 15 + ], + [ + 9, + 12 + ], + [ + 7, + 12 + ], + [ + 10, + 12 + ], + [ + 1, + 11 + ], + [ + 2, + 5 + ], + [ + 2, + 7 + ], + [ + 0, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 3 + ], + [ + 1, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 6, + 10 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 6, + 7 + ], + [ + 0, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.4922623749989725, + "first_execute_seconds": 0.006252125000173692, + "warm_seconds_median": 0.0015245409995259251, + "warm_seconds_mad": 0.00022166700000525452, + "peak_rss_bytes": 324026368, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.5505698040020631e-06, + "valid": true, + "failure": null, + "worker_pid": 40638, + "parent_pid": 37308, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.16267916560173035, + 0.42951905727386475, + 0.5784916877746582, + 0.14390476047992706, + 0.5593961477279663, + 0.43843257427215576, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016315194079652429, + -0.04916916415095329, + -0.0713701844215393, + 0.04252932593226433, + 0.018034638836979866, + -0.16026033461093903, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359218537807465, + -0.024095281958580017, + 0.372429221868515, + 0.3628048896789551, + -0.10408812761306763, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588510006666183, + -0.058648329228162766, + -0.21433718502521515, + -0.04868510738015175, + -0.10687985271215439, + -0.2270757257938385, + -0.057777274399995804 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 28440 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "auto-hq", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 480, + "bulk_path_flops": 14944, + "bulk_block_path_flops": 14944, + "tail_path_flops": 6176, + "last_path_flops": 484, + "estimated_energy_flops": 22084, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 22084, + "total_backward_flops": 44036, + "total_flops": 66120, + "total_traffic_elements": 19167, + "total_traffic_bytes": 153336, + "peak_role_residual_elements": 2216, + "static_score": 178244, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 480, + "backward_flops": 944, + "forward_read_elements": 136, + "forward_write_elements": 120, + "backward_read_elements": 376, + "backward_write_elements": 136, + "residual_elements": 136, + "peak_live_residual_elements": 136, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1424, + "traffic_elements": 768 + }, + "bulk": { + "forward_flops": 14944, + "backward_flops": 29824, + "forward_read_elements": 2216, + "forward_write_elements": 1736, + "backward_read_elements": 5688, + "backward_write_elements": 2216, + "residual_elements": 2216, + "peak_live_residual_elements": 2216, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 44768, + "traffic_elements": 11856 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 484, + "backward_flops": 948, + "forward_read_elements": 186, + "forward_write_elements": 75, + "backward_read_elements": 336, + "backward_write_elements": 186, + "residual_elements": 186, + "peak_live_residual_elements": 186, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1432, + "traffic_elements": 783 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 27912, + "recomputable_bytes": 26680, + "bytes_by_category": { + "primitive:scan": 12608, + "primitive:dot_general": 7232, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 912, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:stack": 896, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 192, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.3123229999982868, + "first_execute_seconds": 0.0019381250021979213, + "warm_seconds_median": 0.0005853339971508831, + "warm_seconds_mad": 2.279100226587616e-05, + "peak_rss_bytes": 285540352, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 40811, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 24544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0335461249997024, + "first_execute_seconds": 0.004592666999087669, + "warm_seconds_median": 0.0005886660001124255, + "warm_seconds_mad": 7.333200119319372e-05, + "peak_rss_bytes": 308248576, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4004239167359064e-06, + "valid": true, + "failure": null, + "worker_pid": 40850, + "parent_pid": 37308, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267921030521393, + 0.4295191168785095, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963861465454, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780522927641869, + 0.0001631813938729465, + -0.04916917160153389, + -0.07137013971805573, + 0.04252941161394119, + 0.018034642562270164, + -0.16026030480861664, + -0.12683488428592682 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409522607922554, + 0.372429221868515, + 0.36280500888824463, + -0.10408814996480942, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588499575853348, + -0.0586484931409359, + -0.21433725953102112, + -0.04868504777550697, + -0.10687990486621857, + -0.2270757406949997, + -0.05777736008167267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3829, + "temp_size_in_bytes": 72384 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 59824, + "recomputable_bytes": 56928, + "bytes_by_category": { + "primitive:scan": 47232, + "primitive:transpose": 4992, + "primitive:dot_general": 3328, + "constant": 2752, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.6853647090028971, + "first_execute_seconds": 0.0021654579977621324, + "warm_seconds_median": 0.0007503330016334075, + "warm_seconds_mad": 3.9249996916623786e-05, + "peak_rss_bytes": 289210368, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2546676541527988e-06, + "valid": true, + "failure": null, + "worker_pid": 40899, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792550086975, + 0.4295192062854767, + 0.5784919261932373, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001632408529985696, + -0.04916924610733986, + -0.0713701844215393, + 0.042529501020908356, + 0.01803465373814106, + -0.16026045382022858, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.024095211178064346, + 0.3724293112754822, + 0.3628050684928894, + -0.10408814251422882, + 0.41859304904937744, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588508516550064, + -0.05864853784441948, + -0.2143372893333435, + -0.04868508502840996, + -0.10687992721796036, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 953, + "temp_size_in_bytes": 25072 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 20384, + "recomputable_bytes": 19984, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.5987371250012075, + "first_execute_seconds": 0.0028639579977607355, + "warm_seconds_median": 0.0005808749992866069, + "warm_seconds_mad": 8.049999814829789e-05, + "peak_rss_bytes": 288325632, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2661948460003877e-06, + "valid": true, + "failure": null, + "worker_pid": 40931, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792699098587, + 0.4295192062854767, + 0.5784918665885925, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016319623682647943, + -0.04916923865675926, + -0.0713701844215393, + 0.04252947121858597, + 0.018034646287560463, + -0.16026043891906738, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.02409522235393524, + 0.3724292814731598, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.240431547164917, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588504046201706, + -0.05864853784441948, + -0.2143373042345047, + -0.04868508502840996, + -0.10687991976737976, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 26120 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 18800, + "recomputable_bytes": 18400, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.714082041999063, + "first_execute_seconds": 0.003808833000221057, + "warm_seconds_median": 0.0013455000007525086, + "warm_seconds_mad": 0.000371458001609426, + "peak_rss_bytes": 292536320, + "energy_abs_error": 4.291534423828125e-06, + "gradient_relative_l2_error": 1.4004239167359064e-06, + "valid": true, + "failure": null, + "worker_pid": 41092, + "parent_pid": 37308, + "energy": -7.857041358947754, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267921030521393, + 0.4295191168785095, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963861465454, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780522927641869, + 0.0001631813938729465, + -0.04916917160153389, + -0.07137013971805573, + 0.04252941161394119, + 0.018034642562270164, + -0.16026030480861664, + -0.12683488428592682 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409522607922554, + 0.372429221868515, + 0.36280500888824463, + -0.10408814996480942, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588499575853348, + -0.0586484931409359, + -0.21433725953102112, + -0.04868504777550697, + -0.10687990486621857, + -0.2270757406949997, + -0.05777736008167267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2976, + "temp_size_in_bytes": 102344 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 59824, + "recomputable_bytes": 56928, + "bytes_by_category": { + "primitive:scan": 47232, + "primitive:transpose": 4992, + "primitive:dot_general": 3328, + "constant": 2752, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 0, + 4 + ], + [ + 3, + 6 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.5431837079995603, + "first_execute_seconds": 0.0043515410034160595, + "warm_seconds_median": 0.0005800830003863666, + "warm_seconds_mad": 4.108300345251337e-05, + "peak_rss_bytes": 299646976, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2546676541527988e-06, + "valid": true, + "failure": null, + "worker_pid": 41208, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582289546728134, + 0.1626792550086975, + 0.4295192062854767, + 0.5784919261932373, + 0.14390480518341064, + 0.559396505355835, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001632408529985696, + -0.04916924610733986, + -0.0713701844215393, + 0.042529501020908356, + 0.01803465373814106, + -0.16026045382022858, + -0.1268349289894104 + ] + ], + [ + [ + -0.183592289686203, + -0.024095211178064346, + 0.3724293112754822, + 0.3628050684928894, + -0.10408814251422882, + 0.41859304904937744, + 0.2404315173625946, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588508516550064, + -0.05864853784441948, + -0.2143372893333435, + -0.04868508502840996, + -0.10687992721796036, + -0.22707590460777283, + -0.05777737870812416 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 28544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 3456, + "bulk_block_path_flops": 3456, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 22120, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 22120, + "total_backward_flops": 44104, + "total_flops": 66224, + "total_traffic_elements": 19899, + "total_traffic_bytes": 159192, + "peak_role_residual_elements": 552, + "static_score": 154652, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 3456, + "backward_flops": 6896, + "forward_read_elements": 552, + "forward_write_elements": 432, + "backward_read_elements": 1416, + "backward_write_elements": 552, + "residual_elements": 552, + "peak_live_residual_elements": 552, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 10352, + "traffic_elements": 2952 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 20384, + "recomputable_bytes": 19984, + "bytes_by_category": { + "primitive:scan": 14976, + "primitive:dot_general": 2048, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.853122707998409, + "first_execute_seconds": 0.05428754199965624, + "warm_seconds_median": 0.0025867080003081355, + "warm_seconds_mad": 0.0016910410013224464, + "peak_rss_bytes": 311427072, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 41278, + "parent_pid": 37308, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 36832 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.584944041998824, + "first_execute_seconds": 0.003041500000108499, + "warm_seconds_median": 0.0008880420027708169, + "warm_seconds_mad": 9.954200504580513e-05, + "peak_rss_bytes": 364068864, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.2917965771704523e-06, + "valid": true, + "failure": null, + "worker_pid": 41399, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.1626792550086975, + 0.42951926589012146, + 0.5784920454025269, + 0.1439048796892166, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780522927641869, + 0.0001632854255149141, + -0.04916917160153389, + -0.07137016206979752, + 0.04252947121858597, + 0.018034690991044044, + -0.16026048362255096, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095166474580765, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859304904937744, + 0.24043165147304535, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588530123233795, + -0.058648522943258286, + -0.21433743834495544, + -0.04868518188595772, + -0.10687978565692902, + -0.22707585990428925, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3649, + "temp_size_in_bytes": 43456 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 32336, + "recomputable_bytes": 29312, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:transpose": 4992, + "primitive:dot_general": 4544, + "constant": 2880, + "primitive:stack": 448, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.086091666998982, + "first_execute_seconds": 0.0037080410002090503, + "warm_seconds_median": 0.0008405420012422837, + "warm_seconds_mad": 3.01670006592758e-05, + "peak_rss_bytes": 290390016, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.2903804775679879e-06, + "valid": true, + "failure": null, + "worker_pid": 41489, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582293272018433, + 0.1626792550086975, + 0.42951926589012146, + 0.5784920454025269, + 0.1439048796892166, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001632854255149141, + -0.04916917160153389, + -0.07137016206979752, + 0.04252947121858597, + 0.018034690991044044, + -0.16026048362255096, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359224498271942, + -0.024095166474580765, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859304904937744, + 0.24043165147304535, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588530123233795, + -0.058648522943258286, + -0.21433743834495544, + -0.04868518188595772, + -0.10687978565692902, + -0.22707585990428925, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 965, + "temp_size_in_bytes": 37360 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 25152, + "recomputable_bytes": 24624, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.271985458002746, + "first_execute_seconds": 0.004120916000829311, + "warm_seconds_median": 0.0004742089986393694, + "warm_seconds_mad": 3.774899960262701e-05, + "peak_rss_bytes": 240320512, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.2857208933377397e-06, + "valid": true, + "failure": null, + "worker_pid": 41586, + "parent_pid": 37308, + "energy": -7.8570451736450195, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267922520637512, + 0.42951926589012146, + 0.5784920454025269, + 0.14390486478805542, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016325568140018731, + -0.04916917160153389, + -0.07137015461921692, + 0.04252947121858597, + 0.018034694716334343, + -0.160260409116745, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409515157341957, + 0.3724293112754822, + 0.36280518770217896, + -0.10408817231655121, + 0.41859304904937744, + 0.24043162167072296, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588527888059616, + -0.05864851549267769, + -0.21433739364147186, + -0.048685137182474136, + -0.10687977820634842, + -0.22707587480545044, + -0.057777393609285355 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 29592 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23568, + "recomputable_bytes": 23040, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 4.375746124998841, + "first_execute_seconds": 0.0039630829996895045, + "warm_seconds_median": 0.0005384169999160804, + "warm_seconds_mad": 6.104199928813614e-05, + "peak_rss_bytes": 217497600, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.2917965771704523e-06, + "valid": true, + "failure": null, + "worker_pid": 41694, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582282096147537, + 0.1626792550086975, + 0.42951926589012146, + 0.5784920454025269, + 0.1439048796892166, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780522927641869, + 0.0001632854255149141, + -0.04916917160153389, + -0.07137016206979752, + 0.04252947121858597, + 0.018034690991044044, + -0.16026048362255096, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095166474580765, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859304904937744, + 0.24043165147304535, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588530123233795, + -0.058648522943258286, + -0.21433743834495544, + -0.04868518188595772, + -0.10687978565692902, + -0.22707585990428925, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2688, + "temp_size_in_bytes": 37912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 32336, + "recomputable_bytes": 29312, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:transpose": 4992, + "primitive:dot_general": 4544, + "constant": 2880, + "primitive:stack": 448, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 6.467043167001975, + "first_execute_seconds": 0.011955458001466468, + "warm_seconds_median": 0.0005539579979085829, + "warm_seconds_mad": 5.174999751034193e-05, + "peak_rss_bytes": 277479424, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.2903804775679879e-06, + "valid": true, + "failure": null, + "worker_pid": 41856, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582293272018433, + 0.1626792550086975, + 0.42951926589012146, + 0.5784920454025269, + 0.1439048796892166, + 0.5593964457511902, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780508026480675, + 0.0001632854255149141, + -0.04916917160153389, + -0.07137016206979752, + 0.04252947121858597, + 0.018034690991044044, + -0.16026048362255096, + -0.1268349587917328 + ] + ], + [ + [ + -0.18359224498271942, + -0.024095166474580765, + 0.3724292814731598, + 0.3628051280975342, + -0.10408814251422882, + 0.41859304904937744, + 0.24043165147304535, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588530123233795, + -0.058648522943258286, + -0.21433743834495544, + -0.04868518188595772, + -0.10687978565692902, + -0.22707585990428925, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 31192 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 11200, + "bulk_block_path_flops": 11200, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 34984, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 34984, + "total_backward_flops": 69832, + "total_flops": 104816, + "total_traffic_elements": 24363, + "total_traffic_bytes": 194904, + "peak_role_residual_elements": 1352, + "static_score": 223900, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 25152, + "recomputable_bytes": 24624, + "bytes_by_category": { + "primitive:scan": 18432, + "primitive:dot_general": 3264, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 368, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.382725957999355, + "first_execute_seconds": 0.002059083002677653, + "warm_seconds_median": 0.0005151670011400711, + "warm_seconds_mad": 9.042003512149677e-06, + "peak_rss_bytes": 327680000, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 42144, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 55208 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 31088, + "recomputable_bytes": 30432, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.3337591669987887, + "first_execute_seconds": 0.0028211659991939086, + "warm_seconds_median": 0.0009100409988604952, + "warm_seconds_mad": 0.00015570699906675145, + "peak_rss_bytes": 332021760, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.3101160840346723e-06, + "valid": true, + "failure": null, + "worker_pid": 42234, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582278370857239, + 0.1626792848110199, + 0.42951908707618713, + 0.5784919261932373, + 0.14390474557876587, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780522927641869, + 0.00016330032667610794, + -0.04916919395327568, + -0.0713702142238617, + 0.04252929240465164, + 0.018034474924206734, + -0.16026055812835693, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359220027923584, + -0.02409520372748375, + 0.3724291920661926, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162916913628578, + 0.0858849287033081, + -0.0586484931409359, + -0.21433734893798828, + -0.04868517443537712, + -0.10687988251447678, + -0.22707593441009521, + -0.05777738243341446 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3837, + "temp_size_in_bytes": 61640 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 226, + "total_bytes": 39856, + "recomputable_bytes": 36704, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:transpose": 4992, + "primitive:dot_general": 4608, + "constant": 3008, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.5848313339993183, + "first_execute_seconds": 0.002899958999478258, + "warm_seconds_median": 0.0006260000009206124, + "warm_seconds_mad": 1.5499997971346602e-05, + "peak_rss_bytes": 300843008, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.307339004074992e-06, + "valid": true, + "failure": null, + "worker_pid": 42301, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582306310534477, + 0.1626792848110199, + 0.42951908707618713, + 0.5784919261932373, + 0.14390474557876587, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016330032667610794, + -0.04916919395327568, + -0.0713702142238617, + 0.04252929240465164, + 0.018034474924206734, + -0.16026055812835693, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409520372748375, + 0.3724291920661926, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162916913628578, + 0.0858849287033081, + -0.0586484931409359, + -0.21433734893798828, + -0.04868517443537712, + -0.10687988251447678, + -0.22707593441009521, + -0.05777738243341446 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 961, + "temp_size_in_bytes": 57272 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 230, + "total_bytes": 32672, + "recomputable_bytes": 32016, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 5.202541791997646, + "first_execute_seconds": 0.008911666001949925, + "warm_seconds_median": 0.0006204579985933378, + "warm_seconds_mad": 4.9709004088072106e-05, + "peak_rss_bytes": 283574272, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.2678137231542029e-06, + "valid": true, + "failure": null, + "worker_pid": 42362, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.1626792699098587, + 0.4295191168785095, + 0.5784919261932373, + 0.1439047008752823, + 0.5593963861465454, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016330032667610794, + -0.04916917905211449, + -0.0713701993227005, + 0.04252929240465164, + 0.01803441159427166, + -0.1602606475353241, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409517765045166, + 0.3724291920661926, + 0.3628050684928894, + -0.10408811271190643, + 0.41859298944473267, + 0.24043148756027222, + 0.0 + ], + [ + 0.04162919893860817, + 0.08588489890098572, + -0.05864847078919411, + -0.21433734893798828, + -0.04868512228131294, + -0.10687996447086334, + -0.22707605361938477, + -0.05777739733457565 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 43928 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 220, + "total_bytes": 31088, + "recomputable_bytes": 30432, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.013428207999823, + "first_execute_seconds": 0.0023550000005343463, + "warm_seconds_median": 0.00048475000221515074, + "warm_seconds_mad": 5.5708002037135884e-05, + "peak_rss_bytes": 313835520, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.3101160840346723e-06, + "valid": true, + "failure": null, + "worker_pid": 42741, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582278370857239, + 0.1626792848110199, + 0.42951908707618713, + 0.5784919261932373, + 0.14390474557876587, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780522927641869, + 0.00016330032667610794, + -0.04916919395327568, + -0.0713702142238617, + 0.04252929240465164, + 0.018034474924206734, + -0.16026055812835693, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359220027923584, + -0.02409520372748375, + 0.3724291920661926, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162916913628578, + 0.0858849287033081, + -0.0586484931409359, + -0.21433734893798828, + -0.04868517443537712, + -0.10687988251447678, + -0.22707593441009521, + -0.05777738243341446 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2688, + "temp_size_in_bytes": 67544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 226, + "total_bytes": 39856, + "recomputable_bytes": 36704, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:transpose": 4992, + "primitive:dot_general": 4608, + "constant": 3008, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 0, + 10 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 9, + 16 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 2, + 5 + ], + [ + 8, + 14 + ], + [ + 8, + 13 + ], + [ + 6, + 12 + ], + [ + 9, + 12 + ], + [ + 6, + 10 + ], + [ + 8, + 10 + ], + [ + 3, + 8 + ], + [ + 5, + 8 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.3367066250029893, + "first_execute_seconds": 0.0016879159993550275, + "warm_seconds_median": 0.00047450000056414865, + "warm_seconds_mad": 3.516699871397577e-05, + "peak_rss_bytes": 319242240, + "energy_abs_error": 3.337860107421875e-06, + "gradient_relative_l2_error": 1.307339004074992e-06, + "valid": true, + "failure": null, + "worker_pid": 42845, + "parent_pid": 37308, + "energy": -7.85704231262207, + "gradient": [ + [ + [ + 0.015582306310534477, + 0.1626792848110199, + 0.42951908707618713, + 0.5784919261932373, + 0.14390474557876587, + 0.559396505355835, + 0.4384326934814453, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016330032667610794, + -0.04916919395327568, + -0.0713702142238617, + 0.04252929240465164, + 0.018034474924206734, + -0.16026055812835693, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359223008155823, + -0.02409520372748375, + 0.3724291920661926, + 0.3628050684928894, + -0.10408814996480942, + 0.41859304904937744, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162916913628578, + 0.0858849287033081, + -0.0586484931409359, + -0.21433734893798828, + -0.04868517443537712, + -0.10687988251447678, + -0.22707593441009521, + -0.05777738243341446 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 45528 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 688, + "bulk_path_flops": 26528, + "bulk_block_path_flops": 26528, + "tail_path_flops": 0, + "last_path_flops": 696, + "estimated_energy_flops": 54440, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 384, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 54440, + "total_backward_flops": 108744, + "total_flops": 163184, + "total_traffic_elements": 31803, + "total_traffic_bytes": 254424, + "peak_role_residual_elements": 2648, + "static_score": 332764, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 26528, + "backward_flops": 53008, + "forward_read_elements": 2648, + "forward_write_elements": 2288, + "backward_read_elements": 7224, + "backward_write_elements": 2648, + "residual_elements": 2648, + "peak_live_residual_elements": 2648, + "largest_forward_intermediate_elements": 384, + "largest_backward_intermediate_elements": 384, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 79536, + "traffic_elements": 14808 + }, + "tail": null, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 230, + "total_bytes": 32672, + "recomputable_bytes": 32016, + "bytes_by_category": { + "primitive:scan": 25216, + "primitive:dot_general": 3328, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 48, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 3.2654626670009748, + "first_execute_seconds": 0.004260082998371217, + "warm_seconds_median": 0.0005957079993095249, + "warm_seconds_mad": 5.670799873769283e-05, + "peak_rss_bytes": 341639168, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.4925411498404187e-06, + "valid": true, + "failure": null, + "worker_pid": 43098, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582334250211716, + 0.1626792997121811, + 0.4295191168785095, + 0.5784919857978821, + 0.1439048945903778, + 0.5593962669372559, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016313680680468678, + -0.04916875436902046, + -0.0713699460029602, + 0.04252967983484268, + 0.018034683540463448, + -0.1602603942155838, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.024095136672258377, + 0.3724292814731598, + 0.362805038690567, + -0.10408814251422882, + 0.4185929298400879, + 0.2404315322637558, + 0.0 + ], + [ + 0.041629184037446976, + 0.08588528633117676, + -0.05864826217293739, + -0.21433715522289276, + -0.048684898763895035, + -0.10687971860170364, + -0.22707581520080566, + -0.05777741223573685 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 64408 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 385, + "total_bytes": 40272, + "recomputable_bytes": 39040, + "bytes_by_category": { + "primitive:scan": 24704, + "primitive:dot_general": 11072, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.91313799999989, + "first_execute_seconds": 0.0017968749998544808, + "warm_seconds_median": 0.0004118750002817251, + "warm_seconds_mad": 1.5665998944314197e-05, + "peak_rss_bytes": 323731456, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.5206237622931286e-06, + "valid": true, + "failure": null, + "worker_pid": 43205, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582328662276268, + 0.16267931461334229, + 0.42951905727386475, + 0.5784919261932373, + 0.143904909491539, + 0.5593963265419006, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780508026480675, + 0.00016322603914886713, + -0.049168746918439865, + -0.07136992365121841, + 0.042529769241809845, + 0.018034661188721657, + -0.1602603942155838, + -0.1268349289894104 + ] + ], + [ + [ + -0.1835922747850418, + -0.02409512922167778, + 0.3724292516708374, + 0.36280500888824463, + -0.10408814996480942, + 0.41859298944473267, + 0.24043156206607819, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588528633117676, + -0.05864826217293739, + -0.21433714032173157, + -0.048684801906347275, + -0.10687973350286484, + -0.22707581520080566, + -0.05777740478515625 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2688, + "temp_size_in_bytes": 67544 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 394, + "total_bytes": 50288, + "recomputable_bytes": 45312, + "bytes_by_category": { + "primitive:scan": 24704, + "primitive:dot_general": 11968, + "primitive:transpose": 5376, + "constant": 4640, + "primitive:conj": 1008, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 34, + 36 + ], + [ + 34, + 40 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 7, + 8 + ], + [ + 8, + 9 + ], + [ + 8, + 9 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 11, + 12 + ], + [ + 12, + 13 + ], + [ + 0, + 13 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 12, + 21 + ], + [ + 0, + 13 + ], + [ + 0, + 12 + ], + [ + 1, + 11 + ], + [ + 1, + 10 + ], + [ + 2, + 9 + ], + [ + 2, + 8 + ], + [ + 3, + 7 + ], + [ + 3, + 6 + ], + [ + 11, + 19 + ], + [ + 11, + 18 + ], + [ + 9, + 17 + ], + [ + 14, + 17 + ], + [ + 9, + 15 + ], + [ + 13, + 15 + ], + [ + 7, + 13 + ], + [ + 10, + 13 + ], + [ + 7, + 11 + ], + [ + 9, + 11 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 0, + 5 + ], + [ + 2, + 7 + ], + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 12, + 14 + ], + [ + 12, + 18 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 3, + 4 + ], + [ + 4, + 5 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 6, + 7 + ], + [ + 0, + 7 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 6, + 11 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 9 + ], + [ + 5, + 8 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 3, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 5 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.554436040998553, + "first_execute_seconds": 0.001647207998757949, + "warm_seconds_median": 0.00037133399746380746, + "warm_seconds_mad": 2.170899824704975e-05, + "peak_rss_bytes": 336396288, + "energy_abs_error": 1.430511474609375e-06, + "gradient_relative_l2_error": 1.5362129831427492e-06, + "valid": true, + "failure": null, + "worker_pid": 43317, + "parent_pid": 37308, + "energy": -7.857044219970703, + "gradient": [ + [ + [ + 0.015582337975502014, + 0.16267931461334229, + 0.42951905727386475, + 0.5784919261932373, + 0.143904909491539, + 0.5593962669372559, + 0.43843260407447815, + 0.0 + ], + [ + -0.012780493125319481, + 0.00016322603914886713, + -0.049168746918439865, + -0.07136992365121841, + 0.042529769241809845, + 0.018034694716334343, + -0.1602603942155838, + -0.1268349140882492 + ] + ], + [ + [ + -0.183592289686203, + -0.02409512922167778, + 0.3724292516708374, + 0.36280500888824463, + -0.10408814996480942, + 0.4185929298400879, + 0.24043156206607819, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588528633117676, + -0.05864826217293739, + -0.21433714032173157, + -0.048684801906347275, + -0.10687971115112305, + -0.22707581520080566, + -0.057777419686317444 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 58584 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 688, + "bulk_path_flops": 68064, + "bulk_block_path_flops": 68064, + "tail_path_flops": 11200, + "last_path_flops": 696, + "estimated_energy_flops": 80648, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 768, + "tail_largest_intermediate_elements": 192, + "last_largest_intermediate_elements": 48, + "differentiated_cost": { + "total_forward_flops": 80648, + "total_backward_flops": 161160, + "total_flops": 241808, + "total_traffic_elements": 40347, + "total_traffic_bytes": 322776, + "peak_role_residual_elements": 5368, + "static_score": 489084, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 688, + "backward_flops": 1360, + "forward_read_elements": 188, + "forward_write_elements": 172, + "backward_read_elements": 532, + "backward_write_elements": 188, + "residual_elements": 188, + "peak_live_residual_elements": 188, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 2048, + "traffic_elements": 1080 + }, + "bulk": { + "forward_flops": 68064, + "backward_flops": 136064, + "forward_read_elements": 5368, + "forward_write_elements": 4888, + "backward_read_elements": 15144, + "backward_write_elements": 5368, + "residual_elements": 5368, + "peak_live_residual_elements": 5368, + "largest_forward_intermediate_elements": 768, + "largest_backward_intermediate_elements": 768, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 204128, + "traffic_elements": 30768 + }, + "tail": { + "forward_flops": 11200, + "backward_flops": 22368, + "forward_read_elements": 1352, + "forward_write_elements": 1112, + "backward_read_elements": 3576, + "backward_write_elements": 1352, + "residual_elements": 1352, + "peak_live_residual_elements": 1352, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 33568, + "traffic_elements": 7392 + }, + "last": { + "forward_flops": 696, + "backward_flops": 1368, + "forward_read_elements": 240, + "forward_write_elements": 129, + "backward_read_elements": 498, + "backward_write_elements": 240, + "residual_elements": 240, + "peak_live_residual_elements": 240, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 2064, + "traffic_elements": 1107 + } + } + }, + "residual_profile": { + "residual_count": 400, + "total_bytes": 42648, + "recomputable_bytes": 41416, + "bytes_by_category": { + "primitive:scan": 24704, + "primitive:dot_general": 11072, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "primitive:conj": 1008, + "primitive:stack": 960, + "constant": 896, + "primitive:convert_element_type": 896, + "literal": 336, + "primitive:concatenate": 176, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 0.9785500420002791, + "first_execute_seconds": 0.0014599589994759299, + "warm_seconds_median": 0.0004257079999661073, + "warm_seconds_mad": 1.0749998182291165e-05, + "peak_rss_bytes": 329187328, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5262552189055018e-06, + "valid": true, + "failure": null, + "worker_pid": 43400, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.16267918050289154, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252944514155388, + 0.01803465001285076, + -0.1602604240179062, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.3724291920661926, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 644, + "temp_size_in_bytes": 31264 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24528, + "recomputable_bytes": 24128, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1056, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.161659375000454, + "first_execute_seconds": 0.0017220839981746394, + "warm_seconds_median": 0.0005184169967833441, + "warm_seconds_mad": 4.875004378845915e-06, + "peak_rss_bytes": 324190208, + "energy_abs_error": 7.152557373046875e-06, + "gradient_relative_l2_error": 1.6239470449754925e-06, + "valid": true, + "failure": null, + "worker_pid": 43440, + "parent_pid": 37308, + "energy": -7.857038497924805, + "gradient": [ + [ + [ + 0.015582280233502388, + 0.16267919540405273, + 0.4295189380645752, + 0.5784916281700134, + 0.14390474557876587, + 0.5593961477279663, + 0.43843239545822144, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016316695837303996, + -0.04916912689805031, + -0.07137015461921692, + 0.042529355734586716, + 0.018034646287560463, + -0.16026030480861664, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359223008155823, + -0.024095218628644943, + 0.3724290728569031, + 0.3628048300743103, + -0.10408812016248703, + 0.4185928404331207, + 0.24043136835098267, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588503301143646, + -0.058648426085710526, + -0.21433722972869873, + -0.048685092478990555, + -0.10687986016273499, + -0.2270756959915161, + -0.05777730047702789 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 4605, + "temp_size_in_bytes": 31832 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 138, + "total_bytes": 26816, + "recomputable_bytes": 23920, + "bytes_by_category": { + "primitive:scan": 19776, + "constant": 2752, + "primitive:transpose": 1728, + "primitive:dot_general": 928, + "primitive:conj": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.2338904159987578, + "first_execute_seconds": 0.001705124999716645, + "warm_seconds_median": 0.0006824580013926607, + "warm_seconds_mad": 0.00015450000137207098, + "peak_rss_bytes": 300498944, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5428416350663068e-06, + "valid": true, + "failure": null, + "worker_pid": 43479, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582306310534477, + 0.16267916560173035, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780433520674706, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252941533923149, + 0.01803465373814106, + -0.1602603793144226, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.37242916226387024, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777730047702789 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 953, + "temp_size_in_bytes": 32176 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 26112, + "recomputable_bytes": 25712, + "bytes_by_category": { + "primitive:scan": 21312, + "primitive:dot_general": 1056, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:reshape": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.2990050419975887, + "first_execute_seconds": 0.0019471250016067643, + "warm_seconds_median": 0.0003946670003642794, + "warm_seconds_mad": 1.5000001440057531e-05, + "peak_rss_bytes": 324386816, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5262552189055018e-06, + "valid": true, + "failure": null, + "worker_pid": 43553, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582308173179626, + 0.16267918050289154, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252944514155388, + 0.01803465001285076, + -0.1602604240179062, + -0.12683482468128204 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.3724291920661926, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 32336 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 2304, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 131, + "total_bytes": 24528, + "recomputable_bytes": 24128, + "bytes_by_category": { + "primitive:scan": 21696, + "primitive:dot_general": 1056, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.5277575420004723, + "first_execute_seconds": 0.0015615410011378117, + "warm_seconds_median": 0.00036129200088907965, + "warm_seconds_mad": 6.0829988797195256e-06, + "peak_rss_bytes": 342212608, + "energy_abs_error": 5.7220458984375e-06, + "gradient_relative_l2_error": 1.4433557013684116e-06, + "valid": true, + "failure": null, + "worker_pid": 43645, + "parent_pid": 37308, + "energy": -7.857039928436279, + "gradient": [ + [ + [ + 0.015582304447889328, + 0.16267913579940796, + 0.42951905727386475, + 0.5784918069839478, + 0.14390483498573303, + 0.5593962669372559, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780418619513512, + 0.00016307749319821596, + -0.049169186502695084, + -0.0713701844215393, + 0.04252953082323074, + 0.018034646287560463, + -0.160260409116745, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359217047691345, + -0.02409522607922554, + 0.37242916226387024, + 0.36280494928359985, + -0.10408812761306763, + 0.41859298944473267, + 0.24043138325214386, + 0.0 + ], + [ + 0.04162916913628578, + 0.08588497340679169, + -0.058648448437452316, + -0.2143373191356659, + -0.048684921115636826, + -0.10687986016273499, + -0.22707581520080566, + -0.057777345180511475 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3456, + "temp_size_in_bytes": 40400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 137, + "total_bytes": 28752, + "recomputable_bytes": 25856, + "bytes_by_category": { + "primitive:scan": 18240, + "primitive:transpose": 4800, + "constant": 2752, + "primitive:dot_general": 1280, + "primitive:stack": 448, + "primitive:conj": 304, + "primitive:scatter": 288, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 4, + "block_width": 1, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 7, + 13 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 6, + 7 + ], + [ + 1, + 8 + ], + [ + 2, + 5 + ], + [ + 2, + 3 + ], + [ + 5, + 6 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.3269532920021447, + "first_execute_seconds": 0.0024200000007112976, + "warm_seconds_median": 0.0005275409966998268, + "warm_seconds_mad": 5.3959003707859665e-05, + "peak_rss_bytes": 299302912, + "energy_abs_error": 6.67572021484375e-06, + "gradient_relative_l2_error": 1.5428416350663068e-06, + "valid": true, + "failure": null, + "worker_pid": 43732, + "parent_pid": 37308, + "energy": -7.857038974761963, + "gradient": [ + [ + [ + 0.015582306310534477, + 0.16267916560173035, + 0.4295189678668976, + 0.578491747379303, + 0.14390477538108826, + 0.5593962073326111, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780433520674706, + 0.00016318174311891198, + -0.0491691417992115, + -0.07137016952037811, + 0.04252941533923149, + 0.01803465373814106, + -0.1602603793144226, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359214067459106, + -0.02409522235393524, + 0.37242916226387024, + 0.3628048896789551, + -0.10408809781074524, + 0.4185928702354431, + 0.24043139815330505, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588501811027527, + -0.058648403733968735, + -0.21433719992637634, + -0.04868508502840996, + -0.10687986016273499, + -0.2270756959915161, + -0.05777730047702789 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 34320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 4, + "block_width": 1, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 6, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 3056, + "bulk_block_path_flops": 3056, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 19336, + "modeled_checkpoint_boundaries": 6, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 19336, + "total_backward_flops": 38536, + "total_flops": 57872, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 548, + "static_score": 143356, + "bulk_block_count": 6, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 3056, + "backward_flops": 6096, + "forward_read_elements": 548, + "forward_write_elements": 428, + "backward_read_elements": 1404, + "backward_write_elements": 548, + "residual_elements": 548, + "peak_live_residual_elements": 548, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 15, + "backward_contractions": 30, + "total_flops": 9152, + "traffic_elements": 2928 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 141, + "total_bytes": 26112, + "recomputable_bytes": 25712, + "bytes_by_category": { + "primitive:scan": 21312, + "primitive:dot_general": 1056, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:reshape": 384, + "primitive:stack": 384, + "primitive:scatter": 288, + "primitive:conj": 272, + "constant": 256, + "primitive:convert_element_type": 256, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.606146958998579, + "first_execute_seconds": 0.0018109999982698355, + "warm_seconds_median": 0.0005019999989599455, + "warm_seconds_mad": 4.450000051292591e-05, + "peak_rss_bytes": 336576512, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5171173271407541e-06, + "valid": true, + "failure": null, + "worker_pid": 43816, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016321142902597785, + -0.04916909709572792, + -0.07137016206979752, + 0.04252947121858597, + 0.018034672364592552, + -0.16026034951210022, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.37242916226387024, + 0.36280491948127747, + -0.10408813506364822, + 0.4185929000377655, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864844098687172, + -0.21433724462985992, + -0.048685114830732346, + -0.10687986016273499, + -0.22707566618919373, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 656, + "temp_size_in_bytes": 34912 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23632, + "recomputable_bytes": 23104, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1120, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.17304724999849, + "first_execute_seconds": 0.0032084159975056536, + "warm_seconds_median": 0.00046424999891314656, + "warm_seconds_mad": 4.962499951943755e-05, + "peak_rss_bytes": 317603840, + "energy_abs_error": 2.86102294921875e-06, + "gradient_relative_l2_error": 1.397029347473036e-06, + "valid": true, + "failure": null, + "worker_pid": 43870, + "parent_pid": 37308, + "energy": -7.8570427894592285, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267913579940796, + 0.42951908707618713, + 0.5784918665885925, + 0.14390480518341064, + 0.5593963861465454, + 0.4384326636791229, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001632261264603585, + -0.04916900768876076, + -0.07137030363082886, + 0.04252941161394119, + 0.018034661188721657, + -0.1602604240179062, + -0.126834899187088 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095166474580765, + 0.3724291920661926, + 0.362805038690567, + -0.10408814251422882, + 0.41859304904937744, + 0.24043142795562744, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588504046201706, + -0.05864841863512993, + -0.21433725953102112, + -0.048685137182474136, + -0.10687986016273499, + -0.22707578539848328, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3649, + "temp_size_in_bytes": 36288 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 181, + "total_bytes": 26768, + "recomputable_bytes": 23744, + "bytes_by_category": { + "primitive:scan": 20448, + "constant": 2880, + "primitive:dot_general": 1536, + "primitive:stack": 512, + "primitive:convert_element_type": 384, + "primitive:conj": 304, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 112, + "primitive:transpose": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.5281648750024033, + "first_execute_seconds": 0.0017309169998043217, + "warm_seconds_median": 0.0004986669991922099, + "warm_seconds_mad": 4.0916998841566965e-05, + "peak_rss_bytes": 331300864, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5314980502006513e-06, + "valid": true, + "failure": null, + "worker_pid": 43971, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016324117314070463, + -0.04916907474398613, + -0.07137016952037811, + 0.04252947121858597, + 0.01803467981517315, + -0.16026033461093903, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.37242916226387024, + 0.36280491948127747, + -0.10408812761306763, + 0.4185928702354431, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.058648448437452316, + -0.21433725953102112, + -0.04868509992957115, + -0.10687984526157379, + -0.22707568109035492, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 965, + "temp_size_in_bytes": 35760 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 25216, + "recomputable_bytes": 24688, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0448101659967506, + "first_execute_seconds": 0.0015049169996927958, + "warm_seconds_median": 0.00037762500141980127, + "warm_seconds_mad": 2.633400072227232e-05, + "peak_rss_bytes": 327843840, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5171173271407541e-06, + "valid": true, + "failure": null, + "worker_pid": 44156, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582287684082985, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962669372559, + 0.4384324550628662, + 0.0 + ], + [ + -0.0127804484218359, + 0.00016321142902597785, + -0.04916909709572792, + -0.07137016206979752, + 0.04252947121858597, + 0.018034672364592552, + -0.16026034951210022, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.37242916226387024, + 0.36280491948127747, + -0.10408813506364822, + 0.4185929000377655, + 0.24043147265911102, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.05864844098687172, + -0.21433724462985992, + -0.048685114830732346, + -0.10687986016273499, + -0.22707566618919373, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 27032 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 1152, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 175, + "total_bytes": 23632, + "recomputable_bytes": 23104, + "bytes_by_category": { + "primitive:scan": 20352, + "primitive:dot_general": 1120, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.07394616700185, + "first_execute_seconds": 0.0017112080022343434, + "warm_seconds_median": 0.00035849999767378904, + "warm_seconds_mad": 4.3415999243734404e-05, + "peak_rss_bytes": 326860800, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4765065010874165e-06, + "valid": true, + "failure": null, + "worker_pid": 44186, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.01558227650821209, + 0.16267909109592438, + 0.42951908707618713, + 0.5784918069839478, + 0.14390477538108826, + 0.5593962669372559, + 0.4384325444698334, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631370687391609, + -0.049169156700372696, + -0.07137030363082886, + 0.042529236525297165, + 0.018034638836979866, + -0.1602604240179062, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095267057418823, + 0.3724291920661926, + 0.36280500888824463, + -0.10408809781074524, + 0.4185929000377655, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588504791259766, + -0.05864847078919411, + -0.21433719992637634, + -0.04868512973189354, + -0.10687980055809021, + -0.22707578539848328, + -0.05777731537818909 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3360, + "temp_size_in_bytes": 33048 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 182, + "total_bytes": 27872, + "recomputable_bytes": 24848, + "bytes_by_category": { + "primitive:scan": 20448, + "constant": 2880, + "primitive:transpose": 1728, + "primitive:dot_general": 928, + "primitive:stack": 576, + "primitive:convert_element_type": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 64, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 3, + "block_width": 2, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 17, + 24 + ], + [ + 2, + 9 + ], + [ + 14, + 15 + ], + [ + 0, + 26 + ], + [ + 7, + 24 + ], + [ + 17, + 18 + ], + [ + 2, + 3 + ], + [ + 4, + 9 + ], + [ + 8, + 17 + ], + [ + 13, + 14 + ], + [ + 10, + 11 + ], + [ + 4, + 13 + ], + [ + 6, + 14 + ], + [ + 0, + 1 + ], + [ + 10, + 16 + ], + [ + 4, + 5 + ], + [ + 7, + 11 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 0, + 9 + ], + [ + 4, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 1 + ], + [ + 5, + 7 + ], + [ + 1, + 5 + ], + [ + 3, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1611617499984277, + "first_execute_seconds": 0.001627875000849599, + "warm_seconds_median": 0.00041599999894970097, + "warm_seconds_mad": 3.5707998904399574e-05, + "peak_rss_bytes": 278675456, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.5314980502006513e-06, + "valid": true, + "failure": null, + "worker_pid": 44233, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558229885995388, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390480518341064, + 0.5593962073326111, + 0.4384324848651886, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016324117314070463, + -0.04916907474398613, + -0.07137016952037811, + 0.04252947121858597, + 0.01803467981517315, + -0.16026033461093903, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.37242916226387024, + 0.36280491948127747, + -0.10408812761306763, + 0.4185928702354431, + 0.24043144285678864, + 0.0 + ], + [ + 0.04162915423512459, + 0.08588504791259766, + -0.058648448437452316, + -0.21433725953102112, + -0.04868509992957115, + -0.10687984526157379, + -0.22707568109035492, + -0.05777730792760849 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 28888 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 3, + "block_width": 2, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 3, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 6368, + "bulk_block_path_flops": 6368, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 20104, + "modeled_checkpoint_boundaries": 3, + "modeled_checkpoint_bytes": 576, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 20104, + "total_backward_flops": 40072, + "total_flops": 60176, + "total_traffic_elements": 19179, + "total_traffic_bytes": 153432, + "peak_role_residual_elements": 1096, + "static_score": 154428, + "bulk_block_count": 3, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 6368, + "backward_flops": 12704, + "forward_read_elements": 1096, + "forward_write_elements": 856, + "backward_read_elements": 2808, + "backward_write_elements": 1096, + "residual_elements": 1096, + "peak_live_residual_elements": 1096, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 19072, + "traffic_elements": 5856 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 185, + "total_bytes": 25216, + "recomputable_bytes": 24688, + "bytes_by_category": { + "primitive:scan": 19968, + "primitive:dot_general": 1120, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "primitive:stack": 448, + "constant": 384, + "primitive:convert_element_type": 384, + "primitive:reshape": 384, + "primitive:conj": 336, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.546806167003524, + "first_execute_seconds": 0.001881749998574378, + "warm_seconds_median": 0.0004481249998207204, + "warm_seconds_mad": 3.7916001019766554e-05, + "peak_rss_bytes": 330760192, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.6096385422916657e-06, + "valid": true, + "failure": null, + "worker_pid": 44274, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267916560173035, + 0.42951905727386475, + 0.578491747379303, + 0.14390471577644348, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016306298493873328, + -0.049169156700372696, + -0.07137015461921692, + 0.04252932593226433, + 0.01803465373814106, + -0.16026026010513306, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095192551612854, + 0.37242913246154785, + 0.3628048896789551, + -0.10408806800842285, + 0.41859281063079834, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.0858849585056305, + -0.05864841863512993, + -0.21433725953102112, + -0.048685114830732346, + -0.10687979310750961, + -0.22707566618919373, + -0.05777732655405998 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 652, + "temp_size_in_bytes": 44576 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 219, + "total_bytes": 26576, + "recomputable_bytes": 25920, + "bytes_by_category": { + "primitive:scan": 22848, + "primitive:dot_general": 1184, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.924817292001535, + "first_execute_seconds": 0.0022775830002501607, + "warm_seconds_median": 0.000537749998329673, + "warm_seconds_mad": 0.00012683399836532772, + "peak_rss_bytes": 330891264, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.404949529899112e-06, + "valid": true, + "failure": null, + "worker_pid": 44314, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.015582321211695671, + 0.16267919540405273, + 0.42951905727386475, + 0.5784916877746582, + 0.14390483498573303, + 0.5593963265419006, + 0.43843263387680054, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310723731294274, + -0.04916912689805031, + -0.07137013971805573, + 0.04252929612994194, + 0.018034553155303, + -0.160260409116745, + -0.12683480978012085 + ] + ], + [ + [ + -0.18359220027923584, + -0.024095240980386734, + 0.3724291920661926, + 0.36280494928359985, + -0.10408823192119598, + 0.41859304904937744, + 0.24043144285678864, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588502556085587, + -0.05864847078919411, + -0.21433722972869873, + -0.0486852191388607, + -0.10687995702028275, + -0.22707581520080566, + -0.057777293026447296 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3741, + "temp_size_in_bytes": 40512 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 225, + "total_bytes": 26096, + "recomputable_bytes": 22944, + "bytes_by_category": { + "primitive:scan": 19072, + "constant": 3008, + "primitive:dot_general": 1056, + "primitive:transpose": 768, + "primitive:stack": 576, + "primitive:convert_element_type": 512, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 144, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.9978895829990506, + "first_execute_seconds": 0.002004292000492569, + "warm_seconds_median": 0.0005284590006340295, + "warm_seconds_mad": 1.0457999451318756e-05, + "peak_rss_bytes": 342900736, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.6090602998163886e-06, + "valid": true, + "failure": null, + "worker_pid": 44422, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582263469696045, + 0.16267918050289154, + 0.42951905727386475, + 0.578491747379303, + 0.14390471577644348, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309272905346006, + -0.0491691492497921, + -0.07137015461921692, + 0.04252932593226433, + 0.01803465001285076, + -0.16026026010513306, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095185101032257, + 0.37242913246154785, + 0.3628048896789551, + -0.10408806800842285, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588498830795288, + -0.05864841118454933, + -0.21433725953102112, + -0.048685114830732346, + -0.10687979310750961, + -0.22707566618919373, + -0.057777319103479385 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 961, + "temp_size_in_bytes": 45168 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 229, + "total_bytes": 28160, + "recomputable_bytes": 27504, + "bytes_by_category": { + "primitive:scan": 22464, + "primitive:dot_general": 1184, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:reshape": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.0576837500011607, + "first_execute_seconds": 0.0029969579991302453, + "warm_seconds_median": 0.00041320799937238917, + "warm_seconds_mad": 5.3708998166257516e-05, + "peak_rss_bytes": 347832320, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.6096385422916657e-06, + "valid": true, + "failure": null, + "worker_pid": 44506, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267916560173035, + 0.42951905727386475, + 0.578491747379303, + 0.14390471577644348, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780478224158287, + 0.00016306298493873328, + -0.049169156700372696, + -0.07137015461921692, + 0.04252932593226433, + 0.01803465373814106, + -0.16026026010513306, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095192551612854, + 0.37242913246154785, + 0.3628048896789551, + -0.10408806800842285, + 0.41859281063079834, + 0.24043139815330505, + 0.0 + ], + [ + 0.04162915423512459, + 0.0858849585056305, + -0.05864841863512993, + -0.21433725953102112, + -0.048685114830732346, + -0.10687979310750961, + -0.22707566618919373, + -0.05777732655405998 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 29400 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 768, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 219, + "total_bytes": 26576, + "recomputable_bytes": 25920, + "bytes_by_category": { + "primitive:scan": 22848, + "primitive:dot_general": 1184, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.1625938750003115, + "first_execute_seconds": 0.0016255409973382484, + "warm_seconds_median": 0.000284333000308834, + "warm_seconds_mad": 1.1709002137649804e-05, + "peak_rss_bytes": 331677696, + "energy_abs_error": 1.9073486328125e-06, + "gradient_relative_l2_error": 1.2741646511368913e-06, + "valid": true, + "failure": null, + "worker_pid": 44541, + "parent_pid": 37308, + "energy": -7.857043743133545, + "gradient": [ + [ + [ + 0.015582265332341194, + 0.16267922520637512, + 0.4295191466808319, + 0.5784920454025269, + 0.14390483498573303, + 0.559396505355835, + 0.43843281269073486, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631813356652856, + -0.04916921630501747, + -0.0713701993227005, + 0.04252947121858597, + 0.018034720793366432, + -0.16026046872138977, + -0.1268349289894104 + ] + ], + [ + [ + -0.18359217047691345, + -0.024095237255096436, + 0.3724292516708374, + 0.3628050684928894, + -0.10408814251422882, + 0.4185931086540222, + 0.24043145775794983, + 0.0 + ], + [ + 0.041629109531641006, + 0.08588498830795288, + -0.058648448437452316, + -0.2143373042345047, + -0.04868500307202339, + -0.10687990486621857, + -0.22707590460777283, + -0.05777735263109207 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 3648, + "temp_size_in_bytes": 33088 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 225, + "total_bytes": 30608, + "recomputable_bytes": 27456, + "bytes_by_category": { + "primitive:scan": 19648, + "primitive:transpose": 4800, + "constant": 3008, + "primitive:dot_general": 1056, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 464, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 2, + "block_width": 3, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 9 + ], + [ + 15, + 22 + ], + [ + 1, + 2 + ], + [ + 12, + 13 + ], + [ + 23, + 25 + ], + [ + 23, + 29 + ], + [ + 26, + 27 + ], + [ + 16, + 22 + ], + [ + 4, + 5 + ], + [ + 7, + 8 + ], + [ + 1, + 28 + ], + [ + 17, + 18 + ], + [ + 14, + 15 + ], + [ + 1, + 2 + ], + [ + 17, + 18 + ], + [ + 1, + 17 + ], + [ + 1, + 2 + ], + [ + 10, + 11 + ], + [ + 2, + 3 + ], + [ + 12, + 26 + ], + [ + 11, + 25 + ], + [ + 11, + 23 + ], + [ + 4, + 5 + ], + [ + 8, + 22 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 2, + 10 + ], + [ + 5, + 9 + ], + [ + 5, + 10 + ], + [ + 9, + 12 + ], + [ + 8, + 14 + ], + [ + 5, + 12 + ], + [ + 11, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 9, + 10 + ], + [ + 2, + 9 + ], + [ + 7, + 8 + ], + [ + 5, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.8061874169980001, + "first_execute_seconds": 0.001277999999729218, + "warm_seconds_median": 0.0003020410003955476, + "warm_seconds_mad": 3.162500070175156e-05, + "peak_rss_bytes": 342573056, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.6090602998163886e-06, + "valid": true, + "failure": null, + "worker_pid": 44613, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582263469696045, + 0.16267918050289154, + 0.42951905727386475, + 0.578491747379303, + 0.14390471577644348, + 0.5593961477279663, + 0.4384324550628662, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016309272905346006, + -0.0491691492497921, + -0.07137015461921692, + 0.04252932593226433, + 0.01803465001285076, + -0.16026026010513306, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359215557575226, + -0.024095185101032257, + 0.37242913246154785, + 0.3628048896789551, + -0.10408806800842285, + 0.41859281063079834, + 0.24043136835098267, + 0.0 + ], + [ + 0.041629139333963394, + 0.08588498830795288, + -0.05864841118454933, + -0.21433725953102112, + -0.048685114830732346, + -0.10687979310750961, + -0.22707566618919373, + -0.057777319103479385 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 31320 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 2, + "block_width": 3, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 2, + "tail_width": 0, + "first_path_flops": 496, + "bulk_path_flops": 11232, + "bulk_block_path_flops": 11232, + "tail_path_flops": 0, + "last_path_flops": 504, + "estimated_energy_flops": 23464, + "modeled_checkpoint_boundaries": 2, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 96, + "tail_largest_intermediate_elements": 0, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 23464, + "total_backward_flops": 46792, + "total_flops": 70256, + "total_traffic_elements": 21147, + "total_traffic_bytes": 169176, + "peak_role_residual_elements": 1808, + "static_score": 183772, + "bulk_block_count": 2, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 11232, + "backward_flops": 22416, + "forward_read_elements": 1808, + "forward_write_elements": 1448, + "backward_read_elements": 4704, + "backward_write_elements": 1808, + "residual_elements": 1808, + "peak_live_residual_elements": 1808, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 45, + "backward_contractions": 90, + "total_flops": 33648, + "traffic_elements": 9768 + }, + "tail": null, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 229, + "total_bytes": 28160, + "recomputable_bytes": 27504, + "bytes_by_category": { + "primitive:scan": 22464, + "primitive:dot_general": 1184, + "primitive:broadcast_in_dim": 768, + "primitive:select_n": 768, + "constant": 512, + "primitive:convert_element_type": 512, + "primitive:stack": 512, + "primitive:conj": 400, + "primitive:reshape": 384, + "primitive:scatter": 288, + "literal": 144, + "primitive:concatenate": 80, + "primitive:cos": 48, + "primitive:eq": 48, + "primitive:sin": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "none", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 47, + 54 + ], + [ + 31, + 33 + ], + [ + 31, + 37 + ], + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 34, + 35 + ], + [ + 38, + 44 + ], + [ + 39, + 40 + ], + [ + 5, + 11 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 29, + 30 + ], + [ + 20, + 21 + ], + [ + 11, + 12 + ], + [ + 18, + 19 + ], + [ + 26, + 35 + ], + [ + 5, + 30 + ], + [ + 11, + 12 + ], + [ + 23, + 37 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 1, + 21 + ], + [ + 0, + 20 + ], + [ + 19, + 35 + ], + [ + 18, + 30 + ], + [ + 6, + 17 + ], + [ + 16, + 32 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 4, + 27 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 9 + ], + [ + 9, + 10 + ], + [ + 4, + 17 + ], + [ + 10, + 12 + ], + [ + 13, + 22 + ], + [ + 1, + 8 + ], + [ + 9, + 13 + ], + [ + 3, + 4 + ], + [ + 7, + 10 + ], + [ + 13, + 17 + ], + [ + 1, + 11 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 11 + ], + [ + 4, + 11 + ], + [ + 5, + 6 + ], + [ + 1, + 2 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.2182587919996877, + "first_execute_seconds": 0.00175995899917325, + "warm_seconds_median": 0.0003326250007376075, + "warm_seconds_mad": 3.837500116787851e-05, + "peak_rss_bytes": 384057344, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.4891735400607598e-06, + "valid": true, + "failure": null, + "worker_pid": 44660, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267919540405273, + 0.42951902747154236, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780463322997093, + 0.0001631221384741366, + -0.04916910454630852, + -0.07137012481689453, + 0.04252944514155388, + 0.018034664914011955, + -0.160260409116745, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359214067459106, + -0.024095240980386734, + 0.37242910265922546, + 0.3628048300743103, + -0.10408814251422882, + 0.4185929298400879, + 0.24043145775794983, + 0.0 + ], + [ + 0.041629109531641006, + 0.08588501811027527, + -0.05864836648106575, + -0.21433719992637634, + -0.048685137182474136, + -0.10687988996505737, + -0.2270757406949997, + -0.057777319103479385 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 568, + "temp_size_in_bytes": 31448 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "none", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 48, + "recurrent_boundary_bytes": 384, + "symmetry_sector": null, + "symmetry_execution": "dense", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 17696, + "bulk_block_path_flops": 17696, + "tail_path_flops": 6176, + "last_path_flops": 504, + "estimated_energy_flops": 24872, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 384, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 24872, + "total_backward_flops": 49608, + "total_flops": 74480, + "total_traffic_elements": 21339, + "total_traffic_bytes": 170712, + "peak_role_residual_elements": 2568, + "static_score": 200924, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 17696, + "backward_flops": 35328, + "forward_read_elements": 2568, + "forward_write_elements": 2088, + "backward_read_elements": 6744, + "backward_write_elements": 2568, + "residual_elements": 2568, + "peak_live_residual_elements": 2568, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 53024, + "traffic_elements": 13968 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 384, + "total_bytes": 28688, + "recomputable_bytes": 27456, + "bytes_by_category": { + "primitive:scan": 16224, + "primitive:dot_general": 7328, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:conj": 880, + "primitive:stack": 832, + "primitive:scatter": 576, + "primitive:transpose": 384, + "literal": 336, + "primitive:concatenate": 112, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 47, + 54 + ], + [ + 31, + 33 + ], + [ + 31, + 37 + ], + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 34, + 35 + ], + [ + 38, + 44 + ], + [ + 39, + 40 + ], + [ + 5, + 11 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 29, + 30 + ], + [ + 20, + 21 + ], + [ + 11, + 12 + ], + [ + 18, + 19 + ], + [ + 26, + 35 + ], + [ + 5, + 30 + ], + [ + 11, + 12 + ], + [ + 23, + 37 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 1, + 21 + ], + [ + 0, + 20 + ], + [ + 19, + 35 + ], + [ + 18, + 30 + ], + [ + 6, + 17 + ], + [ + 16, + 32 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 4, + 27 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 9 + ], + [ + 9, + 10 + ], + [ + 4, + 17 + ], + [ + 10, + 12 + ], + [ + 13, + 22 + ], + [ + 1, + 8 + ], + [ + 9, + 13 + ], + [ + 3, + 4 + ], + [ + 7, + 10 + ], + [ + 13, + 17 + ], + [ + 1, + 11 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 11 + ], + [ + 4, + 11 + ], + [ + 5, + 6 + ], + [ + 1, + 2 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 2.147728083000402, + "first_execute_seconds": 0.001400666998961242, + "warm_seconds_median": 0.0002950829984911252, + "warm_seconds_mad": 2.5248999008908868e-05, + "peak_rss_bytes": 341966848, + "energy_abs_error": 5.245208740234375e-06, + "gradient_relative_l2_error": 1.4378850770309186e-06, + "valid": true, + "failure": null, + "worker_pid": 44721, + "parent_pid": 37308, + "energy": -7.8570404052734375, + "gradient": [ + [ + [ + 0.015582254156470299, + 0.16267913579940796, + 0.42951899766921997, + 0.5784919261932373, + 0.14390480518341064, + 0.5593963265419006, + 0.438432514667511, + 0.0 + ], + [ + -0.012780463322997093, + 0.00016310706268996, + -0.049169328063726425, + -0.07137035578489304, + 0.042529236525297165, + 0.018034713342785835, + -0.1602603793144226, + -0.12683483958244324 + ] + ], + [ + [ + -0.18359225988388062, + -0.02409520372748375, + 0.372429221868515, + 0.36280491948127747, + -0.10408811271190643, + 0.4185929000377655, + 0.24043145775794983, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588497340679169, + -0.05864846333861351, + -0.21433743834495544, + -0.04868515953421593, + -0.10687986016273499, + -0.22707581520080566, + -0.05777733027935028 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 2880, + "temp_size_in_bytes": 39704 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-native", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "bcoo-native", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 17696, + "bulk_block_path_flops": 17696, + "tail_path_flops": 6176, + "last_path_flops": 504, + "estimated_energy_flops": 24872, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 24872, + "total_backward_flops": 49608, + "total_flops": 74480, + "total_traffic_elements": 21339, + "total_traffic_bytes": 170712, + "peak_role_residual_elements": 2568, + "static_score": 200924, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 17696, + "backward_flops": 35328, + "forward_read_elements": 2568, + "forward_write_elements": 2088, + "backward_read_elements": 6744, + "backward_write_elements": 2568, + "residual_elements": 2568, + "peak_live_residual_elements": 2568, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 53024, + "traffic_elements": 13968 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 395, + "total_bytes": 36464, + "recomputable_bytes": 31488, + "bytes_by_category": { + "primitive:scan": 14304, + "primitive:dot_general": 8096, + "primitive:transpose": 5056, + "constant": 4640, + "primitive:conj": 1024, + "primitive:stack": 960, + "primitive:convert_element_type": 896, + "primitive:scatter": 576, + "literal": 336, + "primitive:bcoo_dot_general": 192, + "primitive:concatenate": 160, + "primitive:cos": 112, + "primitive:sin": 112 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 4, + "symmetry": "z2-reference", + "segment_length": null, + "column_paths": [ + [ + [ + 4, + 5 + ], + [ + 1, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 1 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 47, + 54 + ], + [ + 31, + 33 + ], + [ + 31, + 37 + ], + [ + 16, + 18 + ], + [ + 16, + 22 + ], + [ + 2, + 9 + ], + [ + 1, + 2 + ], + [ + 34, + 35 + ], + [ + 38, + 44 + ], + [ + 39, + 40 + ], + [ + 5, + 11 + ], + [ + 15, + 16 + ], + [ + 8, + 9 + ], + [ + 29, + 30 + ], + [ + 20, + 21 + ], + [ + 11, + 12 + ], + [ + 18, + 19 + ], + [ + 26, + 35 + ], + [ + 5, + 30 + ], + [ + 11, + 12 + ], + [ + 23, + 37 + ], + [ + 5, + 6 + ], + [ + 5, + 6 + ], + [ + 1, + 21 + ], + [ + 0, + 20 + ], + [ + 19, + 35 + ], + [ + 18, + 30 + ], + [ + 6, + 17 + ], + [ + 16, + 32 + ], + [ + 2, + 3 + ], + [ + 8, + 9 + ], + [ + 4, + 27 + ], + [ + 0, + 1 + ], + [ + 3, + 4 + ], + [ + 0, + 9 + ], + [ + 9, + 10 + ], + [ + 4, + 17 + ], + [ + 10, + 12 + ], + [ + 13, + 22 + ], + [ + 1, + 8 + ], + [ + 9, + 13 + ], + [ + 3, + 4 + ], + [ + 7, + 10 + ], + [ + 13, + 17 + ], + [ + 1, + 11 + ], + [ + 5, + 9 + ], + [ + 9, + 10 + ], + [ + 1, + 11 + ], + [ + 4, + 11 + ], + [ + 5, + 6 + ], + [ + 1, + 2 + ], + [ + 3, + 8 + ], + [ + 3, + 7 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 2, + 4 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + [ + [ + 1, + 3 + ], + [ + 1, + 7 + ], + [ + 13, + 20 + ], + [ + 20, + 21 + ], + [ + 1, + 23 + ], + [ + 14, + 15 + ], + [ + 17, + 18 + ], + [ + 5, + 6 + ], + [ + 14, + 17 + ], + [ + 13, + 14 + ], + [ + 13, + 18 + ], + [ + 2, + 3 + ], + [ + 2, + 6 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 9 + ], + [ + 3, + 6 + ], + [ + 1, + 8 + ], + [ + 9, + 11 + ], + [ + 1, + 6 + ], + [ + 2, + 8 + ], + [ + 7, + 9 + ], + [ + 0, + 7 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 4, + 5 + ], + [ + 3, + 4 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + [ + [ + 2, + 7 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 8 + ], + [ + 5, + 7 + ], + [ + 0, + 6 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 0, + 3 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ] + ], + "representation": "spatial_transfer" + }, + "compile_seconds": 1.5912050410006486, + "first_execute_seconds": 0.0016352499987988267, + "warm_seconds_median": 0.0003459170002315659, + "warm_seconds_mad": 2.1248997654765844e-05, + "peak_rss_bytes": 344768512, + "energy_abs_error": 6.198883056640625e-06, + "gradient_relative_l2_error": 1.485171549609625e-06, + "valid": true, + "failure": null, + "worker_pid": 44820, + "parent_pid": 37308, + "energy": -7.857039451599121, + "gradient": [ + [ + [ + 0.01558227464556694, + 0.16267916560173035, + 0.42951902747154236, + 0.5784918069839478, + 0.14390477538108826, + 0.5593963265419006, + 0.43843257427215576, + 0.0 + ], + [ + -0.012780478224158287, + 0.0001631221384741366, + -0.049169111996889114, + -0.07137013971805573, + 0.04252941533923149, + 0.018034661188721657, + -0.160260409116745, + -0.12683486938476562 + ] + ], + [ + [ + -0.18359214067459106, + -0.024095218628644943, + 0.37242913246154785, + 0.3628048300743103, + -0.10408814251422882, + 0.4185929298400879, + 0.24043145775794983, + 0.0 + ], + [ + 0.0416291244328022, + 0.08588501811027527, + -0.05864836648106575, + -0.21433722972869873, + -0.04868512228131294, + -0.10687988996505737, + -0.2270757406949997, + -0.057777341455221176 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 676, + "temp_size_in_bytes": 33112 + }, + "static_estimate": { + "representation": "spatial_transfer", + "path_strategy": "random-greedy", + "adjoint": "default", + "symmetry": "z2-reference", + "unroll": 1, + "block_width": 4, + "segment_length": null, + "boundary_rank": 5, + "boundary_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "boundary_dimension": 48, + "boundary_bytes": 384, + "recurrent_boundary_dimension": 24, + "recurrent_boundary_bytes": 192, + "symmetry_sector": { + "symmetry": "global_x_z2", + "dense_shape": [ + 2, + 2, + 2, + 2, + 3 + ], + "active_positions": [ + 0, + 2, + 4, + 7, + 9, + 11, + 13, + 15, + 17, + 18, + 20, + 22, + 25, + 27, + 29, + 30, + 32, + 34, + 36, + 38, + 40, + 43, + 45, + 47 + ], + "forbidden_positions": [ + 1, + 3, + 5, + 6, + 8, + 10, + 12, + 14, + 16, + 19, + 21, + 23, + 24, + 26, + 28, + 31, + 33, + 35, + 37, + 39, + 41, + 42, + 44, + 46 + ], + "mpo_charges": [ + 0, + 1, + 0 + ], + "active_count": 24, + "dense_count": 48, + "active_fraction": 0.5, + "compression_factor": 2.0 + }, + "symmetry_execution": "expand-contract-gather-reference", + "bulk_columns": 6, + "bulk_blocks": 1, + "tail_width": 2, + "first_path_flops": 496, + "bulk_path_flops": 17696, + "bulk_block_path_flops": 17696, + "tail_path_flops": 6176, + "last_path_flops": 504, + "estimated_energy_flops": 24872, + "modeled_checkpoint_boundaries": 1, + "modeled_checkpoint_bytes": 192, + "first_largest_intermediate_elements": 48, + "bulk_largest_intermediate_elements": 192, + "tail_largest_intermediate_elements": 96, + "last_largest_intermediate_elements": 24, + "differentiated_cost": { + "total_forward_flops": 24872, + "total_backward_flops": 49608, + "total_flops": 74480, + "total_traffic_elements": 21339, + "total_traffic_bytes": 170712, + "peak_role_residual_elements": 2568, + "static_score": 200924, + "bulk_block_count": 1, + "dtype_bytes": 8, + "roles": { + "first": { + "forward_flops": 496, + "backward_flops": 976, + "forward_read_elements": 140, + "forward_write_elements": 124, + "backward_read_elements": 388, + "backward_write_elements": 140, + "residual_elements": 140, + "peak_live_residual_elements": 140, + "largest_forward_intermediate_elements": 48, + "largest_backward_intermediate_elements": 24, + "forward_contractions": 10, + "backward_contractions": 20, + "total_flops": 1472, + "traffic_elements": 792 + }, + "bulk": { + "forward_flops": 17696, + "backward_flops": 35328, + "forward_read_elements": 2568, + "forward_write_elements": 2088, + "backward_read_elements": 6744, + "backward_write_elements": 2568, + "residual_elements": 2568, + "peak_live_residual_elements": 2568, + "largest_forward_intermediate_elements": 192, + "largest_backward_intermediate_elements": 192, + "forward_contractions": 60, + "backward_contractions": 120, + "total_flops": 53024, + "traffic_elements": 13968 + }, + "tail": { + "forward_flops": 6176, + "backward_flops": 12320, + "forward_read_elements": 1080, + "forward_write_elements": 840, + "backward_read_elements": 2760, + "backward_write_elements": 1080, + "residual_elements": 1080, + "peak_live_residual_elements": 1080, + "largest_forward_intermediate_elements": 96, + "largest_backward_intermediate_elements": 96, + "forward_contractions": 30, + "backward_contractions": 60, + "total_flops": 18496, + "traffic_elements": 5760 + }, + "last": { + "forward_flops": 504, + "backward_flops": 984, + "forward_read_elements": 192, + "forward_write_elements": 81, + "backward_read_elements": 354, + "backward_write_elements": 192, + "residual_elements": 192, + "peak_live_residual_elements": 192, + "largest_forward_intermediate_elements": 24, + "largest_backward_intermediate_elements": 48, + "forward_contractions": 11, + "backward_contractions": 22, + "total_flops": 1488, + "traffic_elements": 819 + } + } + }, + "residual_profile": { + "residual_count": 399, + "total_bytes": 31064, + "recomputable_bytes": 29832, + "bytes_by_category": { + "primitive:scan": 15840, + "primitive:dot_general": 7328, + "primitive:broadcast_in_dim": 1152, + "primitive:select_n": 1152, + "constant": 896, + "primitive:convert_element_type": 896, + "primitive:conj": 880, + "primitive:stack": 832, + "primitive:reshape": 768, + "primitive:scatter": 576, + "literal": 336, + "primitive:concatenate": 112, + "primitive:cos": 112, + "primitive:sin": 112, + "primitive:eq": 72 + }, + "bytes_by_name": {} + } + } + } + ], + "reference": { + "config": { + "control_flow": "unrolled", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "compile_seconds": 3.9376304170000367, + "first_execute_seconds": 0.004017166997073218, + "warm_seconds_median": 0.0004387500011944212, + "warm_seconds_mad": 3.9541999285575e-05, + "peak_rss_bytes": 262569984, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 0.0, + "valid": true, + "failure": null, + "worker_pid": 37342, + "parent_pid": 37308, + "energy": -7.857045650482178, + "gradient": [ + [ + [ + 0.015582224354147911, + 0.16267919540405273, + 0.4295193552970886, + 0.5784921646118164, + 0.14390496909618378, + 0.5593967437744141, + 0.4384327530860901, + 0.0 + ], + [ + -0.012780269607901573, + 0.0001632701460039243, + -0.049169089645147324, + -0.07136998325586319, + 0.042529381811618805, + 0.018034717068076134, + -0.1602606475353241, + -0.12683428823947906 + ] + ], + [ + [ + -0.18359225988388062, + -0.024095401167869568, + 0.3724295198917389, + 0.36280566453933716, + -0.10408809781074524, + 0.41859304904937744, + 0.24043166637420654, + 0.0 + ], + [ + 0.04162909463047981, + 0.08588515222072601, + -0.058648478239774704, + -0.21433764696121216, + -0.04868509992957115, + -0.10688084363937378, + -0.22707657516002655, + -0.05777782201766968 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 128, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 148, + "peak_memory_in_bytes": 376, + "temp_size_in_bytes": 149896 + }, + "static_estimate": { + "parameter_count": 30, + "state_bytes": 2048, + "saved_boundary_upper_bound_bytes": 6144, + "estimated_forward_gate_applications": 30, + "estimated_recompute_gate_applications": 0 + } + }, + "measurement_notes": { + "representations": "global MPO controls and spatial-transfer candidates share one correctness and selection protocol", + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory", + "modeled_checkpoint_bytes": "boundary-count model, not measured device peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-findings.md new file mode 100644 index 000000000..cb5a884d4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-findings.md @@ -0,0 +1,167 @@ +# VQETape Exact TFIM MPO Findings + +## Outcome + +The exact bond-dimension-3 TFIM MPO passed the executable decision gate on +both measured CPU workloads. The default direct-TN search can therefore use +the MPO as a production Hamiltonian representation while retaining +`pauli_sum` as the exact control. + +The change is at the VQE-program level: + +\[ +E(\theta) += +\sum_{\alpha=1}^{2n-1} +c_\alpha +\langle\psi(\theta)|P_\alpha|\psi(\theta)\rangle +\quad\longrightarrow\quad +\langle\psi(\theta)|H_{\mathrm{MPO}}|\psi(\theta)\rangle . +\] + +The left program differentiates \(2n-1\) complete circuit contractions. The +right program differentiates one bra–MPO–ket contraction and therefore shares +the circuit tensors and their reverse-mode residuals across the complete TFIM +Hamiltonian. + +## Experimental contract + +Both reports were produced by the `vqetape --mode direct-tn` CLI. Every +candidate ran in a fresh subprocess and computed exact energy plus the +complete padded gradient. The search space was: + +\[ +\{\text{Pauli sum},\text{MPO}\} +\times +\{\text{greedy},\text{random-greedy},\text{auto-hq}\} +\times +\{\text{default AD},\text{three named-tape budgets}\}. +\] + +This gives 24 candidates per workload. All timing calls were synchronized. +The state-vector implementation was the correctness reference. The reported +process RSS is not GPU peak memory; compiler temporary bytes and logical +reverse-mode tape bytes are separate quantities. + +The raw reports are: + +- [primary report](vqetape-tfim-mpo-report.json) +- [holdout report](vqetape-tfim-mpo-report-holdout.json) + +## Primary workload + +Configuration: \(n=3\), depth \(L=2\), \(J=g=1\), initial state +\(|+\rangle^{\otimes n}\), `complex64`, three warm repetitions, and an +expected VQE horizon of 100 value-and-gradient calls. + +All 24 candidates passed correctness. Across the candidate set, the maximum +absolute energy error was \(7.15\times10^{-7}\), and the maximum relative +gradient \(L_2\) error was \(2.59\times10^{-7}\). + +Default-AD rows: + +| Hamiltonian | Path | Compile (ms) | Warm median (µs) | Compiler temp (B) | Logical tape (B) | Energy FLOPs | Tensor bindings | +|---|---:|---:|---:|---:|---:|---:|---:| +| MPO | auto-hq | 771.98 | 151.00 | 5,576 | 5,424 | 1,648 | 29 | +| MPO | greedy | 1,075.78 | 169.37 | 5,768 | 5,712 | 1,792 | 29 | +| MPO | random-greedy | 858.64 | 141.29 | 5,448 | 5,328 | 1,728 | 29 | +| Pauli sum | auto-hq | 7,452.34 | 261.67 | 7,812 | 20,260 | 4,560 | 145 | +| Pauli sum | greedy | 8,937.31 | 284.04 | 9,988 | 21,700 | 5,240 | 145 | +| Pauli sum | random-greedy | 10,568.47 | 303.21 | 10,052 | 22,660 | 5,680 | 145 | + +The selected program was `dense + MPO + auto-hq + default AD`. Relative to +the horizon-optimal Pauli control (`auto-hq + default AD`), it had: + +- 9.65× shorter compilation; +- 1.73× faster warm value-and-full-gradient execution; +- 1.40× fewer compiler temporary bytes; +- 3.74× fewer logical residual bytes; +- 2.77× fewer estimated energy-level FLOPs; +- exactly \(2n-1=5\) times fewer tensor bindings. + +The measured Pareto frontier contained four candidates, all using MPO. One +named-tape MPO candidate reduced the logical tape from 5,328 B to 2,368 B for +the same random-greedy topology, showing that Hamiltonian sharing and +residual scheduling are composable. Its compiler temporary storage did not +fall, so logical tape and executable peak proxies must still be reported +separately. + +## Holdout workload + +Configuration: \(n=3\), depth \(L=1\), \(J=0.7\), \(g=0.3\), initial state +\(|000\rangle\), `complex64`, three warm repetitions, and the same 100-call +VQE horizon. + +All 24 candidates passed correctness. The maximum absolute energy error was +\(2.38\times10^{-7}\), and the maximum relative gradient \(L_2\) error was +\(8.31\times10^{-9}\). + +Default-AD rows: + +| Hamiltonian | Path | Compile (ms) | Warm median (µs) | Compiler temp (B) | Logical tape (B) | Energy FLOPs | Tensor bindings | +|---|---:|---:|---:|---:|---:|---:|---:| +| MPO | auto-hq | 648.40 | 105.79 | 3,016 | 2,584 | 984 | 19 | +| MPO | greedy | 520.04 | 104.67 | 3,656 | 3,192 | 1,184 | 19 | +| MPO | random-greedy | 529.87 | 75.29 | 2,952 | 2,488 | 1,024 | 19 | +| Pauli sum | auto-hq | 3,241.52 | 208.58 | 4,228 | 8,780 | 2,040 | 95 | +| Pauli sum | greedy | 3,582.70 | 341.42 | 4,292 | 8,780 | 2,040 | 95 | +| Pauli sum | random-greedy | 2,256.86 | 198.38 | 4,228 | 9,100 | 2,160 | 95 | + +The selected program was `dense + MPO + greedy + default AD`. Relative to the +horizon-optimal Pauli control (`random-greedy + default AD`), it had: + +- 4.34× shorter compilation; +- 1.90× faster warm execution; +- 1.16× fewer compiler temporary bytes; +- 2.85× fewer logical residual bytes; +- 1.82× fewer estimated energy-level FLOPs; +- exactly \(2n-1=5\) times fewer tensor bindings. + +Both holdout Pareto candidates used MPO. + +## Decision-gate audit + +| Gate | Result | Evidence | +|---|---|---| +| Exact MPO algebra | Pass | Dense reconstruction for \(n=2,3,4\), multiple \(J,g\), zero couplings, and `complex128` | +| Exact VQE energy and full gradient | Pass | Pauli sum, MPO, and state-vector comparisons across gate representations and workload variants | +| Hamiltonian-level residual sharing | Pass | MPO reduces total logical tape and repeated `_diag` gate residuals | +| Energy-level cost accounting | Pass | Pauli costs are multiplied by \(2n-1\); MPO costs by one contraction | +| Executable nondominance | Pass | All 12 MPO candidates per workload are nondominated by every Pauli candidate in warm time plus compiler temporary bytes | +| Cross-workload trend | Pass | MPO selected on both the primary and holdout workloads | + +## Regression audit + +The complete repository test suite passed after the benchmark and +documentation updates: + +```text +137 passed in 317.93s (0:05:17) +``` + +This includes legacy state-vector and direct-TN behavior as well as the new +MPO algebra, template, binding, one-shot energy/full-gradient, residual, +fresh-worker, and candidate-search tests. + +## Interpretation and boundary + +This is a positive representation-level result, not evidence that every MPO +contraction is asymptotically cheap. The current implementation forms one +global bra–MPO–ket contraction graph. It removes Hamiltonian-term duplication, +but its general exact cost is still governed by the contraction width of the +circuit-plus-MPO network. + +The next phase should preserve this exact MPO and lower it into a spatial +transfer recurrence for shallow one-dimensional VQE circuits: + +\[ +B_{i+1}=F_i(B_i;\theta_i),\qquad +\dim B_i=\chi_H r^{2L}. +\] + +For the present TFIM ansatz, \(\chi_H=3\) and the exact RZZ operator-Schmidt +rank is \(r=2\), so the boundary dimension is \(3\cdot4^L\). This would change +the scaling from a monolithic global contraction to a scan that is linear in +qubit count at fixed depth. A custom adjoint with segmented checkpoints can +then target the remaining reverse-mode carry memory rather than +reintroducing \(O(n)\) saved boundaries. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-report-holdout.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-report-holdout.json new file mode 100644 index 000000000..e704324e3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-report-holdout.json @@ -0,0 +1,4730 @@ +{ + "request": { + "spec": { + "nqubits": 3, + "depth": 1, + "coupling": 0.7, + "field": 0.3, + "initial_state": "zero", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 180.0 + }, + "selected": { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.5200372079998488, + "first_execute_seconds": 0.0010568750003585592, + "warm_seconds_median": 0.00010466700041433796, + "warm_seconds_mad": 4.5900014811195433e-07, + "peak_rss_bytes": 238616576, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.251541020418978e-09, + "valid": true, + "failure": null, + "worker_pid": 22781, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 7.256893974627587e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 304, + "temp_size_in_bytes": 3656 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1184, + "contractions_per_energy": 1, + "estimated_energy_flops": 1184, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 77, + "total_bytes": 3192, + "recomputable_bytes": 3040, + "bytes_by_category": { + "primitive:dot_general": 1696, + "jitted:_diag": 608, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:conj": 144, + "literal": 136, + "primitive:exp": 64, + "primitive:cos": 24, + "primitive:sin": 24, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.5200372079998488, + "first_execute_seconds": 0.0010568750003585592, + "warm_seconds_median": 0.00010466700041433796, + "warm_seconds_mad": 4.5900014811195433e-07, + "peak_rss_bytes": 238616576, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.251541020418978e-09, + "valid": true, + "failure": null, + "worker_pid": 22781, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 7.256893974627587e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 304, + "temp_size_in_bytes": 3656 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1184, + "contractions_per_energy": 1, + "estimated_energy_flops": 1184, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 77, + "total_bytes": 3192, + "recomputable_bytes": 3040, + "bytes_by_category": { + "primitive:dot_general": 1696, + "jitted:_diag": 608, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:conj": 144, + "literal": 136, + "primitive:exp": 64, + "primitive:cos": 24, + "primitive:sin": 24, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 1, + 3 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 4, + 9 + ], + [ + 0, + 5 + ], + [ + 3, + 9 + ], + [ + 6, + 9 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.529865874999814, + "first_execute_seconds": 0.0008625830014352687, + "warm_seconds_median": 7.52909982111305e-05, + "warm_seconds_mad": 1.5874000382609665e-05, + "peak_rss_bytes": 223117312, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.11909129557482e-09, + "valid": true, + "failure": null, + "worker_pid": 22828, + "parent_pid": 22599, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + -3.069180465331556e-10, + 7.257097145441094e-10, + 0.0 + ], + [ + 0.00733233941718936, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 2952 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1024, + "contractions_per_energy": 1, + "estimated_energy_flops": 1024, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 76, + "total_bytes": 2488, + "recomputable_bytes": 2336, + "bytes_by_category": { + "primitive:dot_general": 1312, + "jitted:_diag": 608, + "primitive:conj": 144, + "literal": 136, + "primitive:stack": 96, + "primitive:concatenate": 64, + "primitive:exp": 64, + "primitive:cos": 24, + "primitive:sin": 24, + "constant": 16 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 0, + 3 + ], + [ + 7, + 13 + ], + [ + 4, + 9 + ], + [ + 1, + 9 + ], + [ + 3, + 11 + ], + [ + 3, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 4 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8319631660015148, + "first_execute_seconds": 0.004266916999768, + "warm_seconds_median": 0.0002092909999191761, + "warm_seconds_mad": 8.758199692238122e-05, + "peak_rss_bytes": 240025600, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.159049210228404e-09, + "valid": true, + "failure": null, + "worker_pid": 22637, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 2.600484272363701e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 360, + "temp_size_in_bytes": 3720 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 984, + "contractions_per_energy": 1, + "estimated_energy_flops": 984, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 24, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 192, + "residual_profile": { + "residual_count": 4, + "total_bytes": 104, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 80, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 0, + 3 + ], + [ + 7, + 13 + ], + [ + 4, + 9 + ], + [ + 1, + 9 + ], + [ + 3, + 11 + ], + [ + 3, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 4 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:11:elements16:imag", + "contract:11:elements16:real", + "contract:12:elements12:imag", + "contract:12:elements12:real", + "contract:13:elements24:imag", + "contract:13:elements24:real", + "contract:14:elements24:imag", + "contract:14:elements24:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:5:elements12:imag", + "contract:5:elements12:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8119445000011183, + "first_execute_seconds": 0.0010945829999400303, + "warm_seconds_median": 0.00013420799950836226, + "warm_seconds_mad": 2.0457999198697507e-05, + "peak_rss_bytes": 237830144, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.194232093810087e-09, + "valid": true, + "failure": null, + "worker_pid": 22648, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 4.849342594148709e-10, + 3.179768670591443e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 360, + "temp_size_in_bytes": 3332 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 984, + "contractions_per_energy": 1, + "estimated_energy_flops": 984, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 24, + "contraction_steps": 18, + "rematerialized_steps": 24, + "rematerialized_units": 24, + "saved_named_units": 12, + "max_step_output_bytes": 192, + "residual_profile": { + "residual_count": 12, + "total_bytes": 616, + "recomputable_bytes": 512, + "bytes_by_category": { + "named": 512, + "constant": 80, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements24:imag": 96, + "contract:14:elements24:real": 96, + "contract:11:elements16:imag": 64, + "contract:11:elements16:real": 64, + "contract:12:elements12:imag": 48, + "contract:12:elements12:real": 48, + "contract:5:elements12:imag": 48, + "contract:5:elements12:real": 48 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 0, + 3 + ], + [ + 7, + 13 + ], + [ + 4, + 9 + ], + [ + 1, + 9 + ], + [ + 3, + 11 + ], + [ + 3, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 4 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements16:imag", + "contract:11:elements16:real", + "contract:12:elements12:imag", + "contract:12:elements12:real", + "contract:13:elements24:imag", + "contract:13:elements24:real", + "contract:14:elements24:imag", + "contract:14:elements24:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements12:imag", + "contract:16:elements12:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements8:imag", + "contract:4:elements8:real", + "contract:5:elements12:imag", + "contract:5:elements12:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.78063312499944, + "first_execute_seconds": 0.0007977499990374781, + "warm_seconds_median": 0.00011191700104973279, + "warm_seconds_mad": 1.3708999176742509e-05, + "peak_rss_bytes": 228458496, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.194232093810087e-09, + "valid": true, + "failure": null, + "worker_pid": 22687, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 4.849342594148709e-10, + 3.179768670591443e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 380, + "temp_size_in_bytes": 2944 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 984, + "contractions_per_energy": 1, + "estimated_energy_flops": 984, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 24, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 192, + "residual_profile": { + "residual_count": 30, + "total_bytes": 1128, + "recomputable_bytes": 1024, + "bytes_by_category": { + "named": 1024, + "constant": 80, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements24:imag": 96, + "contract:14:elements24:real": 96, + "contract:12:elements12:imag": 48, + "contract:12:elements12:real": 48, + "contract:16:elements12:imag": 48, + "contract:16:elements12:real": 48, + "contract:5:elements12:imag": 48, + "contract:5:elements12:real": 48, + "contract:0:elements8:imag": 32, + "contract:0:elements8:real": 32, + "contract:10:elements8:imag": 32, + "contract:10:elements8:real": 32, + "contract:15:elements8:imag": 32, + "contract:15:elements8:real": 32, + "contract:2:elements8:imag": 32, + "contract:2:elements8:real": 32, + "contract:3:elements8:imag": 32, + "contract:3:elements8:real": 32, + "contract:4:elements8:imag": 32, + "contract:4:elements8:real": 32, + "contract:8:elements8:imag": 32, + "contract:8:elements8:real": 32, + "contract:9:elements8:imag": 32, + "contract:9:elements8:real": 32, + "contract:6:elements4:imag": 16, + "contract:6:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 2, + 7 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 0, + 3 + ], + [ + 7, + 13 + ], + [ + 4, + 9 + ], + [ + 1, + 9 + ], + [ + 3, + 11 + ], + [ + 3, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 4 + ], + [ + 6, + 7 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.6484034589993826, + "first_execute_seconds": 0.0009084999983315356, + "warm_seconds_median": 0.00010579199806670658, + "warm_seconds_mad": 9.499999578110874e-06, + "peak_rss_bytes": 239583232, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.159049210228404e-09, + "valid": true, + "failure": null, + "worker_pid": 22714, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 2.600484272363701e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 304, + "temp_size_in_bytes": 3016 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 984, + "contractions_per_energy": 1, + "estimated_energy_flops": 984, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 24, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 192, + "residual_profile": { + "residual_count": 77, + "total_bytes": 2584, + "recomputable_bytes": 2432, + "bytes_by_category": { + "primitive:dot_general": 1024, + "jitted:_diag": 608, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:conj": 144, + "literal": 136, + "primitive:concatenate": 64, + "primitive:exp": 64, + "primitive:cos": 24, + "primitive:sin": 24, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.9434795830020448, + "first_execute_seconds": 0.0011115410015918314, + "warm_seconds_median": 0.0001465419991291128, + "warm_seconds_mad": 2.1249998098937795e-05, + "peak_rss_bytes": 241025024, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.251541020418978e-09, + "valid": true, + "failure": null, + "worker_pid": 22739, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 7.256893974627587e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 372, + "temp_size_in_bytes": 4488 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1184, + "contractions_per_energy": 1, + "estimated_energy_flops": 1184, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 4, + "total_bytes": 104, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 80, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:14:elements48:imag", + "contract:14:elements48:real", + "contract:15:elements24:imag", + "contract:15:elements24:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:7:elements36:imag", + "contract:7:elements36:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8211378339983639, + "first_execute_seconds": 0.001021375002892455, + "warm_seconds_median": 0.00014133299919194542, + "warm_seconds_mad": 1.5792000340297818e-05, + "peak_rss_bytes": 235077632, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.251541020418978e-09, + "valid": true, + "failure": null, + "worker_pid": 22763, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 7.256893974627587e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 372, + "temp_size_in_bytes": 4040 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1184, + "contractions_per_energy": 1, + "estimated_energy_flops": 1184, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 26, + "rematerialized_units": 26, + "saved_named_units": 10, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 12, + "total_bytes": 1000, + "recomputable_bytes": 896, + "bytes_by_category": { + "named": 896, + "constant": 80, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements48:imag": 192, + "contract:14:elements48:real": 192, + "contract:7:elements36:imag": 144, + "contract:7:elements36:real": 144, + "contract:15:elements24:imag": 96, + "contract:15:elements24:real": 96, + "contract:4:elements4:imag": 16, + "contract:4:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements12:imag", + "contract:11:elements12:real", + "contract:12:elements12:imag", + "contract:12:elements12:real", + "contract:13:elements12:imag", + "contract:13:elements12:real", + "contract:14:elements48:imag", + "contract:14:elements48:real", + "contract:15:elements24:imag", + "contract:15:elements24:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements12:imag", + "contract:6:elements12:real", + "contract:7:elements36:imag", + "contract:7:elements36:real", + "contract:8:elements12:imag", + "contract:8:elements12:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8020540830002574, + "first_execute_seconds": 0.0009337080009572674, + "warm_seconds_median": 0.000121749999379972, + "warm_seconds_mad": 1.1000000085914508e-05, + "peak_rss_bytes": 240615424, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.306558073133252e-09, + "valid": true, + "failure": null, + "worker_pid": 22769, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 4.849342039037197e-10, + 8.555990360648025e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 392, + "temp_size_in_bytes": 3552 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1184, + "contractions_per_energy": 1, + "estimated_energy_flops": 1184, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 34, + "total_bytes": 1800, + "recomputable_bytes": 1696, + "bytes_by_category": { + "named": 1696, + "constant": 80, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements48:imag": 192, + "contract:14:elements48:real": 192, + "contract:7:elements36:imag": 144, + "contract:7:elements36:real": 144, + "contract:15:elements24:imag": 96, + "contract:15:elements24:real": 96, + "contract:11:elements12:imag": 48, + "contract:11:elements12:real": 48, + "contract:12:elements12:imag": 48, + "contract:12:elements12:real": 48, + "contract:13:elements12:imag": 48, + "contract:13:elements12:real": 48, + "contract:6:elements12:imag": 48, + "contract:6:elements12:real": 48, + "contract:8:elements12:imag": 48, + "contract:8:elements12:real": 48, + "contract:16:elements8:imag": 32, + "contract:16:elements8:real": 32, + "contract:1:elements8:imag": 32, + "contract:1:elements8:real": 32, + "contract:3:elements8:imag": 32, + "contract:3:elements8:real": 32, + "contract:9:elements8:imag": 32, + "contract:9:elements8:real": 32, + "contract:10:elements4:imag": 16, + "contract:10:elements4:real": 16, + "contract:4:elements4:imag": 16, + "contract:4:elements4:real": 16, + "contract:5:elements4:imag": 16, + "contract:5:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.5200372079998488, + "first_execute_seconds": 0.0010568750003585592, + "warm_seconds_median": 0.00010466700041433796, + "warm_seconds_mad": 4.5900014811195433e-07, + "peak_rss_bytes": 238616576, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.251541020418978e-09, + "valid": true, + "failure": null, + "worker_pid": 22781, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.5875245562568807e-10, + 7.256893974627587e-10, + 0.0 + ], + [ + 0.007332338951528072, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 304, + "temp_size_in_bytes": 3656 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1184, + "contractions_per_energy": 1, + "estimated_energy_flops": 1184, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 77, + "total_bytes": 3192, + "recomputable_bytes": 3040, + "bytes_by_category": { + "primitive:dot_general": 1696, + "jitted:_diag": 608, + "primitive:scatter": 288, + "primitive:stack": 192, + "primitive:conj": 144, + "literal": 136, + "primitive:exp": 64, + "primitive:cos": 24, + "primitive:sin": 24, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 1, + 3 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 4, + 9 + ], + [ + 0, + 5 + ], + [ + 3, + 9 + ], + [ + 6, + 9 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.7912072079998325, + "first_execute_seconds": 0.0009510000018053688, + "warm_seconds_median": 0.0001282500015804544, + "warm_seconds_mad": 1.9708000763785094e-05, + "peak_rss_bytes": 235945984, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.11909129557482e-09, + "valid": true, + "failure": null, + "worker_pid": 22786, + "parent_pid": 22599, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + -3.069180465331556e-10, + 7.257097145441094e-10, + 0.0 + ], + [ + 0.00733233941718936, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 360, + "temp_size_in_bytes": 3520 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1024, + "contractions_per_energy": 1, + "estimated_energy_flops": 1024, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 4, + "total_bytes": 104, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 80, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 1, + 3 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 4, + 9 + ], + [ + 0, + 5 + ], + [ + 3, + 9 + ], + [ + 6, + 9 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:14:elements48:imag", + "contract:14:elements48:real", + "contract:15:elements24:imag", + "contract:15:elements24:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:7:elements12:imag", + "contract:7:elements12:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8152834159991471, + "first_execute_seconds": 0.0008645420020911843, + "warm_seconds_median": 0.00011329200060572475, + "warm_seconds_mad": 1.9499999325489625e-05, + "peak_rss_bytes": 234389504, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.1349714789656e-09, + "valid": true, + "failure": null, + "worker_pid": 22798, + "parent_pid": 22599, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 2.011898980747162e-10, + 7.257097145441094e-10, + 0.0 + ], + [ + 0.00733233941718936, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 360, + "temp_size_in_bytes": 2884 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1024, + "contractions_per_energy": 1, + "estimated_energy_flops": 1024, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 26, + "rematerialized_units": 26, + "saved_named_units": 10, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 12, + "total_bytes": 840, + "recomputable_bytes": 736, + "bytes_by_category": { + "named": 736, + "constant": 80, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements48:imag": 192, + "contract:14:elements48:real": 192, + "contract:15:elements24:imag": 96, + "contract:15:elements24:real": 96, + "contract:7:elements12:imag": 48, + "contract:7:elements12:real": 48, + "contract:0:elements8:imag": 32, + "contract:0:elements8:real": 32 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 1, + 3 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 4, + 9 + ], + [ + 0, + 5 + ], + [ + 3, + 9 + ], + [ + 6, + 9 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements48:imag", + "contract:14:elements48:real", + "contract:15:elements24:imag", + "contract:15:elements24:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements12:imag", + "contract:7:elements12:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.9481374169990886, + "first_execute_seconds": 0.0008963750005932525, + "warm_seconds_median": 0.0001277920018765144, + "warm_seconds_mad": 2.6670022634789348e-06, + "peak_rss_bytes": 236060672, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.131769868688443e-09, + "valid": true, + "failure": null, + "worker_pid": 22806, + "parent_pid": 22599, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + 2.011898980747162e-10, + 7.116771061355109e-10, + 0.0 + ], + [ + 0.00733233941718936, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 380, + "temp_size_in_bytes": 2696 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1024, + "contractions_per_energy": 1, + "estimated_energy_flops": 1024, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 32, + "total_bytes": 1416, + "recomputable_bytes": 1312, + "bytes_by_category": { + "named": 1312, + "constant": 80, + "argument": 24 + }, + "bytes_by_name": { + "contract:14:elements48:imag": 192, + "contract:14:elements48:real": 192, + "contract:15:elements24:imag": 96, + "contract:15:elements24:real": 96, + "contract:7:elements12:imag": 48, + "contract:7:elements12:real": 48, + "contract:11:elements8:imag": 32, + "contract:11:elements8:real": 32, + "contract:12:elements8:imag": 32, + "contract:12:elements8:real": 32, + "contract:13:elements8:imag": 32, + "contract:13:elements8:real": 32, + "contract:16:elements8:imag": 32, + "contract:16:elements8:real": 32, + "contract:2:elements8:imag": 32, + "contract:2:elements8:real": 32, + "contract:3:elements8:imag": 32, + "contract:3:elements8:real": 32, + "contract:6:elements8:imag": 32, + "contract:6:elements8:real": 32, + "contract:8:elements8:imag": 32, + "contract:8:elements8:real": 32, + "contract:9:elements8:imag": 32, + "contract:9:elements8:real": 32, + "contract:4:elements4:imag": 16, + "contract:4:elements4:real": 16, + "contract:5:elements4:imag": 16, + "contract:5:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 9 + ], + [ + 3, + 8 + ], + [ + 1, + 3 + ], + [ + 1, + 12 + ], + [ + 0, + 10 + ], + [ + 4, + 9 + ], + [ + 0, + 5 + ], + [ + 3, + 9 + ], + [ + 6, + 9 + ], + [ + 2, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 6 + ], + [ + 2, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.529865874999814, + "first_execute_seconds": 0.0008625830014352687, + "warm_seconds_median": 7.52909982111305e-05, + "warm_seconds_mad": 1.5874000382609665e-05, + "peak_rss_bytes": 223117312, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 8.11909129557482e-09, + "valid": true, + "failure": null, + "worker_pid": 22828, + "parent_pid": 22599, + "energy": -1.397496223449707, + "gradient": [ + [ + [ + -3.069180465331556e-10, + 7.257097145441094e-10, + 0.0 + ], + [ + 0.00733233941718936, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 292, + "temp_size_in_bytes": 2952 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 19, + "input_tensor_elements": 160, + "path_flops": 1024, + "contractions_per_energy": 1, + "estimated_energy_flops": 1024, + "estimated_energy_tensor_bindings": 19, + "largest_intermediate_elements": 48, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 76, + "total_bytes": 2488, + "recomputable_bytes": 2336, + "bytes_by_category": { + "primitive:dot_general": 1312, + "jitted:_diag": 608, + "primitive:conj": 144, + "literal": 136, + "primitive:stack": 96, + "primitive:concatenate": 64, + "primitive:exp": 64, + "primitive:cos": 24, + "primitive:sin": 24, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 15, + 18 + ], + [ + 4, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 14 + ], + [ + 8, + 10 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.4096789170034754, + "first_execute_seconds": 0.0024977920002129395, + "warm_seconds_median": 0.00024133300030371174, + "warm_seconds_mad": 1.8583003111416474e-05, + "peak_rss_bytes": 261210112, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.188882281162634e-09, + "valid": true, + "failure": null, + "worker_pid": 22838, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.3228826922784265e-09, + 7.256996115145853e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4224 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 15, + 18 + ], + [ + 4, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 14 + ], + [ + 8, + 10 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:7:elements8:imag", + "contract:7:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 4.536665208001068, + "first_execute_seconds": 0.002001167002163129, + "warm_seconds_median": 0.0002210000020568259, + "warm_seconds_mad": 2.3666001652600244e-05, + "peak_rss_bytes": 252657664, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.241126161972401e-09, + "valid": true, + "failure": null, + "worker_pid": 22875, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.2743845978491208e-09, + 9.804882461494913e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4512 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 24, + "rematerialized_units": 24, + "saved_named_units": 12, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 81, + "total_bytes": 2504, + "recomputable_bytes": 1920, + "bytes_by_category": { + "named": 1920, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:5:elements8:imag": 160, + "contract:5:elements8:real": 160, + "contract:7:elements8:imag": 160, + "contract:7:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 15, + 18 + ], + [ + 4, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 14 + ], + [ + 8, + 10 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements4:imag", + "contract:13:elements4:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements8:imag", + "contract:7:elements8:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.934761584001535, + "first_execute_seconds": 0.0014211250017979182, + "warm_seconds_median": 0.0003257909993408248, + "warm_seconds_mad": 4.3707997974706814e-05, + "peak_rss_bytes": 264142848, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.241126161972401e-09, + "valid": true, + "failure": null, + "worker_pid": 22932, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.2743845978491208e-09, + 9.804882461494913e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4672 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 171, + "total_bytes": 3784, + "recomputable_bytes": 3200, + "bytes_by_category": { + "named": 3200, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:5:elements8:imag": 160, + "contract:5:elements8:real": 160, + "contract:7:elements8:imag": 160, + "contract:7:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:13:elements4:imag": 80, + "contract:13:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:3:elements4:imag": 80, + "contract:3:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 15, + 18 + ], + [ + 4, + 11 + ], + [ + 1, + 5 + ], + [ + 2, + 14 + ], + [ + 8, + 10 + ], + [ + 2, + 7 + ], + [ + 4, + 7 + ], + [ + 1, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 4 + ], + [ + 3, + 4 + ], + [ + 5, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.241518792001443, + "first_execute_seconds": 0.0011277920020802412, + "warm_seconds_median": 0.00020858300194959156, + "warm_seconds_mad": 1.2375003279885277e-05, + "peak_rss_bytes": 236273664, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 8.188882281162634e-09, + "valid": true, + "failure": null, + "worker_pid": 22980, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.3228826922784265e-09, + 7.256996115145853e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983618736267 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4228 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:conj": 400, + "primitive:concatenate": 320, + "primitive:exp": 320, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.380463375000545, + "first_execute_seconds": 0.0011165840005560312, + "warm_seconds_median": 0.00024083300013444386, + "warm_seconds_mad": 1.704199894447811e-05, + "peak_rss_bytes": 268025856, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.623431672840726e-09, + "valid": true, + "failure": null, + "worker_pid": 23055, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.0055056787194872e-10, + -4.38399150315405e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4164 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.514659207998193, + "first_execute_seconds": 0.0010344169968448114, + "warm_seconds_median": 0.00022824999905424193, + "warm_seconds_mad": 1.0291001672158018e-05, + "peak_rss_bytes": 268763136, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.709335056137144e-09, + "valid": true, + "failure": null, + "worker_pid": 23140, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 7.559513015564789e-10, + -2.1961128748859693e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4608 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 24, + "rematerialized_units": 24, + "saved_named_units": 12, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 81, + "total_bytes": 2504, + "recomputable_bytes": 1920, + "bytes_by_category": { + "named": 1920, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements4:imag", + "contract:8:elements4:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 4.519585958998505, + "first_execute_seconds": 0.0011970419982390013, + "warm_seconds_median": 0.00021999999808031134, + "warm_seconds_mad": 8.290997357107699e-06, + "peak_rss_bytes": 240779264, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.709335056137144e-09, + "valid": true, + "failure": null, + "worker_pid": 23180, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 7.559513015564789e-10, + -2.1961128748859693e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 4480 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 171, + "total_bytes": 3784, + "recomputable_bytes": 3200, + "bytes_by_category": { + "named": 3200, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:8:elements4:imag": 80, + "contract:8:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 7 + ], + [ + 2, + 6 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 0, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 5 + ], + [ + 2, + 5 + ], + [ + 0, + 4 + ], + [ + 0, + 3 + ], + [ + 1, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.582703833002597, + "first_execute_seconds": 0.0018028749982477166, + "warm_seconds_median": 0.000341416998708155, + "warm_seconds_mad": 7.362500036833808e-05, + "peak_rss_bytes": 233963520, + "energy_abs_error": 1.1920928955078125e-07, + "gradient_relative_l2_error": 7.623431672840726e-09, + "valid": true, + "failure": null, + "worker_pid": 23250, + "parent_pid": 22599, + "energy": -1.3974963426589966, + "gradient": [ + [ + [ + 1.0055056787194872e-10, + -4.38399150315405e-10, + 0.0 + ], + [ + 0.007332339882850647, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 4292 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 408, + "contractions_per_energy": 5, + "estimated_energy_flops": 2040, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 8780, + "recomputable_bytes": 7520, + "bytes_by_category": { + "primitive:dot_general": 3200, + "jitted:_diag": 3040, + "primitive:conj": 720, + "literal": 700, + "constant": 560, + "primitive:exp": 320, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 13, + 16 + ], + [ + 1, + 6 + ], + [ + 0, + 16 + ], + [ + 5, + 14 + ], + [ + 0, + 4 + ], + [ + 11, + 12 + ], + [ + 1, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.4513102079981763, + "first_execute_seconds": 0.0009582080019754358, + "warm_seconds_median": 0.00020325000150478445, + "warm_seconds_mad": 4.125002305954695e-06, + "peak_rss_bytes": 254705664, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.65159735817331e-09, + "valid": true, + "failure": null, + "worker_pid": 23282, + "parent_pid": 22599, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 6.244275096989327e-10, + 2.6003821318454357e-10, + 0.0 + ], + [ + 0.007332340814173222, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 228, + "temp_size_in_bytes": 4224 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 432, + "contractions_per_energy": 5, + "estimated_energy_flops": 2160, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 36, + "rematerialized_units": 36, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 584, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 24 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 13, + 16 + ], + [ + 1, + 6 + ], + [ + 0, + 16 + ], + [ + 5, + 14 + ], + [ + 0, + 4 + ], + [ + 11, + 12 + ], + [ + 1, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:4:elements8:imag", + "contract:4:elements8:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:8:elements8:imag", + "contract:8:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 4.476957292001316, + "first_execute_seconds": 0.0012122500011173543, + "warm_seconds_median": 0.000258708001638297, + "warm_seconds_mad": 4.1124996641883627e-05, + "peak_rss_bytes": 251887616, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.779561710420034e-09, + "valid": true, + "failure": null, + "worker_pid": 23315, + "parent_pid": 22599, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 1.1888605655485662e-09, + 4.6189868596613337e-10, + 0.0 + ], + [ + 0.007332340814173222, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 240, + "temp_size_in_bytes": 4484 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 432, + "contractions_per_energy": 5, + "estimated_energy_flops": 2160, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 22, + "rematerialized_units": 22, + "saved_named_units": 14, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 91, + "total_bytes": 2664, + "recomputable_bytes": 2080, + "bytes_by_category": { + "named": 2080, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:4:elements8:imag": 160, + "contract:4:elements8:real": 160, + "contract:6:elements8:imag": 160, + "contract:6:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 13, + 16 + ], + [ + 1, + 6 + ], + [ + 0, + 16 + ], + [ + 5, + 14 + ], + [ + 0, + 4 + ], + [ + 11, + 12 + ], + [ + 1, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements4:imag", + "contract:0:elements4:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements8:imag", + "contract:16:elements8:real", + "contract:17:elements1:imag", + "contract:17:elements1:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements4:imag", + "contract:2:elements4:real", + "contract:3:elements4:imag", + "contract:3:elements4:real", + "contract:4:elements8:imag", + "contract:4:elements8:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 3.681517833003454, + "first_execute_seconds": 0.001170500003354391, + "warm_seconds_median": 0.0001899169983516913, + "warm_seconds_mad": 1.1166997865075245e-05, + "peak_rss_bytes": 267026432, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.779561710420034e-09, + "valid": true, + "failure": null, + "worker_pid": 23353, + "parent_pid": 22599, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 1.1888605655485662e-09, + 4.6189868596613337e-10, + 0.0 + ], + [ + 0.007332340814173222, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 240, + "temp_size_in_bytes": 4480 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 432, + "contractions_per_energy": 5, + "estimated_energy_flops": 2160, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 36, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 171, + "total_bytes": 4104, + "recomputable_bytes": 3520, + "bytes_by_category": { + "named": 3520, + "constant": 560, + "argument": 24 + }, + "bytes_by_name": { + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:16:elements8:imag": 160, + "contract:16:elements8:real": 160, + "contract:4:elements8:imag": 160, + "contract:4:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:0:elements4:imag": 80, + "contract:0:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:14:elements4:imag": 80, + "contract:14:elements4:real": 80, + "contract:2:elements4:imag": 80, + "contract:2:elements4:real": 80, + "contract:3:elements4:imag": 80, + "contract:3:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 13, + 16 + ], + [ + 1, + 6 + ], + [ + 0, + 16 + ], + [ + 5, + 14 + ], + [ + 0, + 4 + ], + [ + 11, + 12 + ], + [ + 1, + 5 + ], + [ + 6, + 8 + ], + [ + 7, + 8 + ], + [ + 5, + 6 + ], + [ + 1, + 4 + ], + [ + 2, + 5 + ], + [ + 1, + 4 + ], + [ + 3, + 5 + ], + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 2.2568588340000133, + "first_execute_seconds": 0.0008674590026203077, + "warm_seconds_median": 0.00019837500076391734, + "warm_seconds_mad": 2.029200186370872e-05, + "peak_rss_bytes": 237961216, + "energy_abs_error": 0.0, + "gradient_relative_l2_error": 7.65159735817331e-09, + "valid": true, + "failure": null, + "worker_pid": 23388, + "parent_pid": 22599, + "energy": -1.3974964618682861, + "gradient": [ + [ + [ + 6.244275096989327e-10, + 2.6003821318454357e-10, + 0.0 + ], + [ + 0.007332340814173222, + -0.07493127882480621, + 0.02526983805000782 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 24, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 44, + "peak_memory_in_bytes": 228, + "temp_size_in_bytes": 4228 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 19, + "input_tensor_elements": 112, + "path_flops": 432, + "contractions_per_energy": 5, + "estimated_energy_flops": 2160, + "estimated_energy_tensor_bindings": 95, + "largest_intermediate_elements": 8, + "contraction_steps": 18, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 390, + "total_bytes": 9100, + "recomputable_bytes": 7840, + "bytes_by_category": { + "primitive:dot_general": 3520, + "jitted:_diag": 3040, + "literal": 700, + "constant": 560, + "primitive:concatenate": 480, + "primitive:exp": 320, + "primitive:conj": 240, + "primitive:cos": 120, + "primitive:sin": 120 + }, + "bytes_by_name": {} + } + } + } + ], + "measurement_notes": { + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-report.json new file mode 100644 index 000000000..b4aeb5853 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-tfim-mpo-report.json @@ -0,0 +1,6992 @@ +{ + "request": { + "spec": { + "nqubits": 3, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "memory_budget_bytes": 2147483648, + "expected_vqe_steps": 100, + "warm_repeats": 3, + "seed": 0, + "timeout_seconds": 240.0 + }, + "selected": { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 0, + 27 + ], + [ + 2, + 13 + ], + [ + 9, + 21 + ], + [ + 8, + 10 + ], + [ + 2, + 9 + ], + [ + 13, + 20 + ], + [ + 3, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 14 + ], + [ + 12, + 17 + ], + [ + 8, + 10 + ], + [ + 3, + 6 + ], + [ + 0, + 13 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 0, + 7 + ], + [ + 2, + 9 + ], + [ + 8, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 2 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.7719824590021744, + "first_execute_seconds": 0.0009867500011750963, + "warm_seconds_median": 0.00015100000018719584, + "warm_seconds_mad": 8.916998922359198e-06, + "peak_rss_bytes": 241254400, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.4584349643784866e-07, + "valid": true, + "failure": null, + "worker_pid": 20607, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097310274839401, + 0.001032056286931038, + 0.013129225000739098 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984344899654388, + -0.21982775628566742, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 316, + "temp_size_in_bytes": 5576 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1648, + "contractions_per_energy": 1, + "estimated_energy_flops": 1648, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 36, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 288, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5424, + "recomputable_bytes": 5136, + "bytes_by_category": { + "primitive:dot_general": 2368, + "jitted:_diag": 1216, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:stack": 192, + "primitive:concatenate": 160, + "primitive:exp": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + "pareto": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 0, + 27 + ], + [ + 2, + 13 + ], + [ + 9, + 21 + ], + [ + 8, + 10 + ], + [ + 2, + 9 + ], + [ + 13, + 20 + ], + [ + 3, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 14 + ], + [ + 12, + 17 + ], + [ + 8, + 10 + ], + [ + 3, + 6 + ], + [ + 0, + 13 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 0, + 7 + ], + [ + 2, + 9 + ], + [ + 8, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 2 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.7719824590021744, + "first_execute_seconds": 0.0009867500011750963, + "warm_seconds_median": 0.00015100000018719584, + "warm_seconds_mad": 8.916998922359198e-06, + "peak_rss_bytes": 241254400, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.4584349643784866e-07, + "valid": true, + "failure": null, + "worker_pid": 20607, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097310274839401, + 0.001032056286931038, + 0.013129225000739098 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984344899654388, + -0.21982775628566742, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 316, + "temp_size_in_bytes": 5576 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1648, + "contractions_per_energy": 1, + "estimated_energy_flops": 1648, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 36, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 288, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5424, + "recomputable_bytes": 5136, + "bytes_by_category": { + "primitive:dot_general": 2368, + "jitted:_diag": 1216, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:stack": 192, + "primitive:concatenate": 160, + "primitive:exp": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.0757814589996997, + "first_execute_seconds": 0.0011936670016439166, + "warm_seconds_median": 0.00016937499822233804, + "warm_seconds_mad": 2.9292001272551715e-05, + "peak_rss_bytes": 230866944, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.376260298395574e-07, + "valid": true, + "failure": null, + "worker_pid": 20691, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097295373678207, + 0.0010320786386728287, + 0.013129215687513351 + ] + ], + [ + [ + 0.4693845808506012, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982771158218384, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 328, + "temp_size_in_bytes": 5768 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1792, + "contractions_per_energy": 1, + "estimated_energy_flops": 1792, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5712, + "recomputable_bytes": 5424, + "bytes_by_category": { + "primitive:dot_general": 2656, + "jitted:_diag": 1216, + "primitive:conj": 496, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:stack": 192, + "primitive:exp": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 13 + ], + [ + 1, + 3 + ], + [ + 0, + 21 + ], + [ + 0, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 6 + ], + [ + 13, + 16 + ], + [ + 3, + 4 + ], + [ + 1, + 18 + ], + [ + 0, + 14 + ], + [ + 15, + 16 + ], + [ + 5, + 7 + ], + [ + 2, + 10 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 8 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements16:imag", + "contract:10:elements16:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements16:imag", + "contract:13:elements16:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements16:imag", + "contract:16:elements16:real", + "contract:17:elements36:imag", + "contract:17:elements36:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements48:imag", + "contract:24:elements48:real", + "contract:25:elements24:imag", + "contract:25:elements24:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements12:imag", + "contract:8:elements12:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.865072208998754, + "first_execute_seconds": 0.0013776249979855493, + "warm_seconds_median": 0.00013629199747811072, + "warm_seconds_mad": 3.750996256712824e-06, + "peak_rss_bytes": 238780416, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 9.843863741847732e-08, + "valid": true, + "failure": null, + "worker_pid": 20719, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461933374405, + 0.0 + ], + [ + -0.012097308412194252, + 0.0010320896981284022, + 0.01312924548983574 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860766410827637, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277860879898, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 5572 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1728, + "contractions_per_energy": 1, + "estimated_energy_flops": 1728, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 52, + "total_bytes": 2368, + "recomputable_bytes": 2240, + "bytes_by_category": { + "named": 2240, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:24:elements48:imag": 192, + "contract:24:elements48:real": 192, + "contract:25:elements24:imag": 96, + "contract:25:elements24:real": 96, + "contract:10:elements16:imag": 64, + "contract:10:elements16:real": 64, + "contract:13:elements16:imag": 64, + "contract:13:elements16:real": 64, + "contract:16:elements16:imag": 64, + "contract:16:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:9:elements16:imag": 64, + "contract:9:elements16:real": 64, + "contract:8:elements12:imag": 48, + "contract:8:elements12:real": 48, + "contract:11:elements8:imag": 32, + "contract:11:elements8:real": 32, + "contract:12:elements8:imag": 32, + "contract:12:elements8:real": 32, + "contract:15:elements8:imag": 32, + "contract:15:elements8:real": 32, + "contract:18:elements8:imag": 32, + "contract:18:elements8:real": 32, + "contract:19:elements8:imag": 32, + "contract:19:elements8:real": 32, + "contract:20:elements8:imag": 32, + "contract:20:elements8:real": 32, + "contract:21:elements8:imag": 32, + "contract:21:elements8:real": 32, + "contract:22:elements8:imag": 32, + "contract:22:elements8:real": 32, + "contract:23:elements8:imag": 32, + "contract:23:elements8:real": 32, + "contract:26:elements8:imag": 32, + "contract:26:elements8:real": 32, + "contract:2:elements8:imag": 32, + "contract:2:elements8:real": 32, + "contract:3:elements8:imag": 32, + "contract:3:elements8:real": 32, + "contract:6:elements8:imag": 32, + "contract:6:elements8:real": 32, + "contract:14:elements4:imag": 16, + "contract:14:elements4:real": 16, + "contract:4:elements4:imag": 16, + "contract:4:elements4:real": 16, + "contract:5:elements4:imag": 16, + "contract:5:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 13 + ], + [ + 1, + 3 + ], + [ + 0, + 21 + ], + [ + 0, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 6 + ], + [ + 13, + 16 + ], + [ + 3, + 4 + ], + [ + 1, + 18 + ], + [ + 0, + 14 + ], + [ + 15, + 16 + ], + [ + 5, + 7 + ], + [ + 2, + 10 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 8 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8586350420009694, + "first_execute_seconds": 0.0010863749994314276, + "warm_seconds_median": 0.0001412919991707895, + "warm_seconds_mad": 2.2291998902801424e-05, + "peak_rss_bytes": 248709120, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 9.730426882661117e-08, + "valid": true, + "failure": null, + "worker_pid": 20741, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097308412194252, + 0.0010320896981284022, + 0.01312924548983574 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860766410827637, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277860879898, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 316, + "temp_size_in_bytes": 5448 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1728, + "contractions_per_energy": 1, + "estimated_energy_flops": 1728, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5328, + "recomputable_bytes": 5040, + "bytes_by_category": { + "primitive:dot_general": 2240, + "jitted:_diag": 1216, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:concatenate": 192, + "primitive:stack": 192, + "primitive:exp": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + } + ], + "candidates": [ + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 0, + 27 + ], + [ + 2, + 13 + ], + [ + 9, + 21 + ], + [ + 8, + 10 + ], + [ + 2, + 9 + ], + [ + 13, + 20 + ], + [ + 3, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 14 + ], + [ + 12, + 17 + ], + [ + 8, + 10 + ], + [ + 3, + 6 + ], + [ + 0, + 13 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 0, + 7 + ], + [ + 2, + 9 + ], + [ + 8, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 2 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.1184857080006623, + "first_execute_seconds": 0.0012134999997215346, + "warm_seconds_median": 0.0001606660007382743, + "warm_seconds_mad": 1.7623999156057835e-05, + "peak_rss_bytes": 253329408, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.0301545717422834e-07, + "valid": true, + "failure": null, + "worker_pid": 20566, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097310274839401, + 0.001032056286931038, + 0.013129225000739098 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984344899654388, + -0.21982775628566742, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 380, + "temp_size_in_bytes": 6280 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1648, + "contractions_per_energy": 1, + "estimated_energy_flops": 1648, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 36, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 288, + "residual_profile": { + "residual_count": 4, + "total_bytes": 128, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 80, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 0, + 27 + ], + [ + 2, + 13 + ], + [ + 9, + 21 + ], + [ + 8, + 10 + ], + [ + 2, + 9 + ], + [ + 13, + 20 + ], + [ + 3, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 14 + ], + [ + 12, + 17 + ], + [ + 8, + 10 + ], + [ + 3, + 6 + ], + [ + 0, + 13 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 0, + 7 + ], + [ + 2, + 9 + ], + [ + 8, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 2 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:11:elements36:imag", + "contract:11:elements36:real", + "contract:12:elements16:imag", + "contract:12:elements16:real", + "contract:16:elements16:imag", + "contract:16:elements16:real", + "contract:23:elements24:imag", + "contract:23:elements24:real", + "contract:24:elements24:imag", + "contract:24:elements24:real", + "contract:4:elements16:imag", + "contract:4:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.1093911249990924, + "first_execute_seconds": 0.001287416002014652, + "warm_seconds_median": 0.00017216700143762864, + "warm_seconds_mad": 1.6834001144161448e-05, + "peak_rss_bytes": 267927552, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.0301545717422834e-07, + "valid": true, + "failure": null, + "worker_pid": 20580, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097310274839401, + 0.001032056286931038, + 0.013129225000739098 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984344899654388, + -0.21982775628566742, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 380, + "temp_size_in_bytes": 5892 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1648, + "contractions_per_energy": 1, + "estimated_energy_flops": 1648, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 36, + "contraction_steps": 28, + "rematerialized_steps": 40, + "rematerialized_units": 40, + "saved_named_units": 16, + "max_step_output_bytes": 288, + "residual_profile": { + "residual_count": 20, + "total_bytes": 1376, + "recomputable_bytes": 1248, + "bytes_by_category": { + "named": 1248, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:11:elements36:imag": 144, + "contract:11:elements36:real": 144, + "contract:23:elements24:imag": 96, + "contract:23:elements24:real": 96, + "contract:24:elements24:imag": 96, + "contract:24:elements24:real": 96, + "contract:12:elements16:imag": 64, + "contract:12:elements16:real": 64, + "contract:16:elements16:imag": 64, + "contract:16:elements16:real": 64, + "contract:4:elements16:imag": 64, + "contract:4:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:0:elements8:imag": 32, + "contract:0:elements8:real": 32 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 0, + 27 + ], + [ + 2, + 13 + ], + [ + 9, + 21 + ], + [ + 8, + 10 + ], + [ + 2, + 9 + ], + [ + 13, + 20 + ], + [ + 3, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 14 + ], + [ + 12, + 17 + ], + [ + 8, + 10 + ], + [ + 3, + 6 + ], + [ + 0, + 13 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 0, + 7 + ], + [ + 2, + 9 + ], + [ + 8, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 2 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements36:imag", + "contract:11:elements36:real", + "contract:12:elements16:imag", + "contract:12:elements16:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements16:imag", + "contract:16:elements16:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements4:imag", + "contract:1:elements4:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements12:imag", + "contract:21:elements12:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements24:imag", + "contract:23:elements24:real", + "contract:24:elements24:imag", + "contract:24:elements24:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements12:imag", + "contract:3:elements12:real", + "contract:4:elements16:imag", + "contract:4:elements16:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:6:elements12:imag", + "contract:6:elements12:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.370894125000632, + "first_execute_seconds": 0.011983000000327593, + "warm_seconds_median": 0.0005720000008295756, + "warm_seconds_mad": 0.000416833001509076, + "peak_rss_bytes": 233848832, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.019320352582555e-07, + "valid": true, + "failure": null, + "worker_pid": 20590, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097310274839401, + 0.001032056286931038, + 0.013129225000739098 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984344899654388, + -0.21982775628566742, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 5700 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1648, + "contractions_per_energy": 1, + "estimated_energy_flops": 1648, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 36, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 288, + "residual_profile": { + "residual_count": 54, + "total_bytes": 2496, + "recomputable_bytes": 2368, + "bytes_by_category": { + "named": 2368, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:11:elements36:imag": 144, + "contract:11:elements36:real": 144, + "contract:23:elements24:imag": 96, + "contract:23:elements24:real": 96, + "contract:24:elements24:imag": 96, + "contract:24:elements24:real": 96, + "contract:12:elements16:imag": 64, + "contract:12:elements16:real": 64, + "contract:16:elements16:imag": 64, + "contract:16:elements16:real": 64, + "contract:4:elements16:imag": 64, + "contract:4:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:21:elements12:imag": 48, + "contract:21:elements12:real": 48, + "contract:3:elements12:imag": 48, + "contract:3:elements12:real": 48, + "contract:6:elements12:imag": 48, + "contract:6:elements12:real": 48, + "contract:10:elements8:imag": 32, + "contract:10:elements8:real": 32, + "contract:13:elements8:imag": 32, + "contract:13:elements8:real": 32, + "contract:14:elements8:imag": 32, + "contract:14:elements8:real": 32, + "contract:15:elements8:imag": 32, + "contract:15:elements8:real": 32, + "contract:17:elements8:imag": 32, + "contract:17:elements8:real": 32, + "contract:18:elements8:imag": 32, + "contract:18:elements8:real": 32, + "contract:19:elements8:imag": 32, + "contract:19:elements8:real": 32, + "contract:20:elements8:imag": 32, + "contract:20:elements8:real": 32, + "contract:22:elements8:imag": 32, + "contract:22:elements8:real": 32, + "contract:25:elements8:imag": 32, + "contract:25:elements8:real": 32, + "contract:26:elements8:imag": 32, + "contract:26:elements8:real": 32, + "contract:5:elements8:imag": 32, + "contract:5:elements8:real": 32, + "contract:8:elements8:imag": 32, + "contract:8:elements8:real": 32, + "contract:1:elements4:imag": 16, + "contract:1:elements4:real": 16, + "contract:9:elements4:imag": 16, + "contract:9:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 1, + 6 + ], + [ + 0, + 27 + ], + [ + 2, + 13 + ], + [ + 9, + 21 + ], + [ + 8, + 10 + ], + [ + 2, + 9 + ], + [ + 13, + 20 + ], + [ + 3, + 6 + ], + [ + 0, + 2 + ], + [ + 0, + 14 + ], + [ + 12, + 17 + ], + [ + 8, + 10 + ], + [ + 3, + 6 + ], + [ + 0, + 13 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 0, + 7 + ], + [ + 2, + 9 + ], + [ + 8, + 9 + ], + [ + 0, + 9 + ], + [ + 0, + 7 + ], + [ + 1, + 2 + ], + [ + 3, + 5 + ], + [ + 3, + 4 + ], + [ + 2, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.7719824590021744, + "first_execute_seconds": 0.0009867500011750963, + "warm_seconds_median": 0.00015100000018719584, + "warm_seconds_mad": 8.916998922359198e-06, + "peak_rss_bytes": 241254400, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.4584349643784866e-07, + "valid": true, + "failure": null, + "worker_pid": 20607, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097310274839401, + 0.001032056286931038, + 0.013129225000739098 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860764920711517, + 0.0 + ], + [ + -0.13984344899654388, + -0.21982775628566742, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 316, + "temp_size_in_bytes": 5576 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1648, + "contractions_per_energy": 1, + "estimated_energy_flops": 1648, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 36, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 288, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5424, + "recomputable_bytes": 5136, + "bytes_by_category": { + "primitive:dot_general": 2368, + "jitted:_diag": 1216, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:stack": 192, + "primitive:concatenate": 160, + "primitive:exp": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.357989208001527, + "first_execute_seconds": 0.0014357079999172129, + "warm_seconds_median": 0.000198124998860294, + "warm_seconds_mad": 2.120899807778187e-05, + "peak_rss_bytes": 243286016, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.9672966645452259e-07, + "valid": true, + "failure": null, + "worker_pid": 20621, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097295373678207, + 0.0010320786386728287, + 0.013129215687513351 + ] + ], + [ + [ + 0.4693845808506012, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982771158218384, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 392, + "temp_size_in_bytes": 6920 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1792, + "contractions_per_energy": 1, + "estimated_energy_flops": 1792, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 4, + "total_bytes": 128, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 80, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:11:elements36:imag", + "contract:11:elements36:real", + "contract:24:elements48:imag", + "contract:24:elements48:real", + "contract:25:elements24:imag", + "contract:25:elements24:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.7130362090028939, + "first_execute_seconds": 0.001416291001078207, + "warm_seconds_median": 0.00021699999706470408, + "warm_seconds_mad": 8.625000191386789e-06, + "peak_rss_bytes": 243105792, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.8023682399944477e-07, + "valid": true, + "failure": null, + "worker_pid": 20638, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097295373678207, + 0.0010320786386728287, + 0.013129215687513351 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982771158218384, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 392, + "temp_size_in_bytes": 6240 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1792, + "contractions_per_energy": 1, + "estimated_energy_flops": 1792, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 40, + "rematerialized_units": 40, + "saved_named_units": 16, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 18, + "total_bytes": 1504, + "recomputable_bytes": 1376, + "bytes_by_category": { + "named": 1376, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:24:elements48:imag": 192, + "contract:24:elements48:real": 192, + "contract:11:elements36:imag": 144, + "contract:11:elements36:real": 144, + "contract:25:elements24:imag": 96, + "contract:25:elements24:real": 96, + "contract:6:elements16:imag": 64, + "contract:6:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:8:elements16:imag": 64, + "contract:8:elements16:real": 64, + "contract:9:elements16:imag": 64, + "contract:9:elements16:real": 64 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements12:imag", + "contract:10:elements12:real", + "contract:11:elements36:imag", + "contract:11:elements36:real", + "contract:12:elements12:imag", + "contract:12:elements12:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements16:imag", + "contract:15:elements16:real", + "contract:16:elements12:imag", + "contract:16:elements12:real", + "contract:17:elements12:imag", + "contract:17:elements12:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements48:imag", + "contract:24:elements48:real", + "contract:25:elements24:imag", + "contract:25:elements24:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.3279751249974652, + "first_execute_seconds": 0.0013440420007100329, + "warm_seconds_median": 0.00015308299771277234, + "warm_seconds_mad": 1.290998625336215e-06, + "peak_rss_bytes": 263405568, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 1.8023682399944477e-07, + "valid": true, + "failure": null, + "worker_pid": 20683, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097295373678207, + 0.0010320786386728287, + 0.013129215687513351 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982771158218384, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 412, + "temp_size_in_bytes": 6020 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1792, + "contractions_per_energy": 1, + "estimated_energy_flops": 1792, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 54, + "total_bytes": 2784, + "recomputable_bytes": 2656, + "bytes_by_category": { + "named": 2656, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:24:elements48:imag": 192, + "contract:24:elements48:real": 192, + "contract:11:elements36:imag": 144, + "contract:11:elements36:real": 144, + "contract:25:elements24:imag": 96, + "contract:25:elements24:real": 96, + "contract:15:elements16:imag": 64, + "contract:15:elements16:real": 64, + "contract:6:elements16:imag": 64, + "contract:6:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:8:elements16:imag": 64, + "contract:8:elements16:real": 64, + "contract:9:elements16:imag": 64, + "contract:9:elements16:real": 64, + "contract:10:elements12:imag": 48, + "contract:10:elements12:real": 48, + "contract:12:elements12:imag": 48, + "contract:12:elements12:real": 48, + "contract:16:elements12:imag": 48, + "contract:16:elements12:real": 48, + "contract:17:elements12:imag": 48, + "contract:17:elements12:real": 48, + "contract:13:elements8:imag": 32, + "contract:13:elements8:real": 32, + "contract:14:elements8:imag": 32, + "contract:14:elements8:real": 32, + "contract:18:elements8:imag": 32, + "contract:18:elements8:real": 32, + "contract:19:elements8:imag": 32, + "contract:19:elements8:real": 32, + "contract:1:elements8:imag": 32, + "contract:1:elements8:real": 32, + "contract:20:elements8:imag": 32, + "contract:20:elements8:real": 32, + "contract:21:elements8:imag": 32, + "contract:21:elements8:real": 32, + "contract:22:elements8:imag": 32, + "contract:22:elements8:real": 32, + "contract:23:elements8:imag": 32, + "contract:23:elements8:real": 32, + "contract:26:elements8:imag": 32, + "contract:26:elements8:real": 32, + "contract:3:elements8:imag": 32, + "contract:3:elements8:real": 32, + "contract:4:elements4:imag": 16, + "contract:4:elements4:real": 16, + "contract:5:elements4:imag": 16, + "contract:5:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 1 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.0757814589996997, + "first_execute_seconds": 0.0011936670016439166, + "warm_seconds_median": 0.00016937499822233804, + "warm_seconds_mad": 2.9292001272551715e-05, + "peak_rss_bytes": 230866944, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.376260298395574e-07, + "valid": true, + "failure": null, + "worker_pid": 20691, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.2359461635351181, + 0.0 + ], + [ + -0.012097295373678207, + 0.0010320786386728287, + 0.013129215687513351 + ] + ], + [ + [ + 0.4693845808506012, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982771158218384, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 328, + "temp_size_in_bytes": 5768 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1792, + "contractions_per_energy": 1, + "estimated_energy_flops": 1792, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5712, + "recomputable_bytes": 5424, + "bytes_by_category": { + "primitive:dot_general": 2656, + "jitted:_diag": 1216, + "primitive:conj": 496, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:stack": 192, + "primitive:exp": 128, + "primitive:concatenate": 96, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 13 + ], + [ + 1, + 3 + ], + [ + 0, + 21 + ], + [ + 0, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 6 + ], + [ + 13, + 16 + ], + [ + 3, + 4 + ], + [ + 1, + 18 + ], + [ + 0, + 14 + ], + [ + 15, + 16 + ], + [ + 5, + 7 + ], + [ + 2, + 10 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 8 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.1668086249992484, + "first_execute_seconds": 0.0012485830011428334, + "warm_seconds_median": 0.0001805419997253921, + "warm_seconds_mad": 6.792000931454822e-06, + "peak_rss_bytes": 272826368, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 9.730426882661117e-08, + "valid": true, + "failure": null, + "worker_pid": 20696, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097308412194252, + 0.0010320896981284022, + 0.01312924548983574 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860766410827637, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277860879898, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 380, + "temp_size_in_bytes": 6280 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1728, + "contractions_per_energy": 1, + "estimated_energy_flops": 1728, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 4, + "total_bytes": 128, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 80, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 13 + ], + [ + 1, + 3 + ], + [ + 0, + 21 + ], + [ + 0, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 6 + ], + [ + 13, + 16 + ], + [ + 3, + 4 + ], + [ + 1, + 18 + ], + [ + 0, + 14 + ], + [ + 15, + 16 + ], + [ + 5, + 7 + ], + [ + 2, + 10 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 8 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements16:imag", + "contract:10:elements16:real", + "contract:17:elements36:imag", + "contract:17:elements36:real", + "contract:24:elements48:imag", + "contract:24:elements48:real", + "contract:25:elements24:imag", + "contract:25:elements24:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.288552209000045, + "first_execute_seconds": 0.0012228340019646566, + "warm_seconds_median": 0.00015733400141471066, + "warm_seconds_mad": 6.543003109982237e-06, + "peak_rss_bytes": 264847360, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 9.730426882661117e-08, + "valid": true, + "failure": null, + "worker_pid": 20707, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097308412194252, + 0.0010320896981284022, + 0.01312924548983574 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860766410827637, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277860879898, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 396, + "temp_size_in_bytes": 6084 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1728, + "contractions_per_energy": 1, + "estimated_energy_flops": 1728, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 40, + "rematerialized_units": 40, + "saved_named_units": 16, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 16, + "total_bytes": 1152, + "recomputable_bytes": 1024, + "bytes_by_category": { + "named": 1024, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:24:elements48:imag": 192, + "contract:24:elements48:real": 192, + "contract:25:elements24:imag": 96, + "contract:25:elements24:real": 96, + "contract:10:elements16:imag": 64, + "contract:10:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:9:elements16:imag": 64, + "contract:9:elements16:real": 64, + "contract:0:elements8:imag": 32, + "contract:0:elements8:real": 32 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 13 + ], + [ + 1, + 3 + ], + [ + 0, + 21 + ], + [ + 0, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 6 + ], + [ + 13, + 16 + ], + [ + 3, + 4 + ], + [ + 1, + 18 + ], + [ + 0, + 14 + ], + [ + 15, + 16 + ], + [ + 5, + 7 + ], + [ + 2, + 10 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 8 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements16:imag", + "contract:10:elements16:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements8:imag", + "contract:12:elements8:real", + "contract:13:elements16:imag", + "contract:13:elements16:real", + "contract:14:elements4:imag", + "contract:14:elements4:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements16:imag", + "contract:16:elements16:real", + "contract:17:elements36:imag", + "contract:17:elements36:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements48:imag", + "contract:24:elements48:real", + "contract:25:elements24:imag", + "contract:25:elements24:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements8:imag", + "contract:6:elements8:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements12:imag", + "contract:8:elements12:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 1.865072208998754, + "first_execute_seconds": 0.0013776249979855493, + "warm_seconds_median": 0.00013629199747811072, + "warm_seconds_mad": 3.750996256712824e-06, + "peak_rss_bytes": 238780416, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 9.843863741847732e-08, + "valid": true, + "failure": null, + "worker_pid": 20719, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461933374405, + 0.0 + ], + [ + -0.012097308412194252, + 0.0010320896981284022, + 0.01312924548983574 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860766410827637, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277860879898, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 400, + "temp_size_in_bytes": 5572 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1728, + "contractions_per_energy": 1, + "estimated_energy_flops": 1728, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 52, + "total_bytes": 2368, + "recomputable_bytes": 2240, + "bytes_by_category": { + "named": 2240, + "constant": 80, + "argument": 48 + }, + "bytes_by_name": { + "contract:24:elements48:imag": 192, + "contract:24:elements48:real": 192, + "contract:25:elements24:imag": 96, + "contract:25:elements24:real": 96, + "contract:10:elements16:imag": 64, + "contract:10:elements16:real": 64, + "contract:13:elements16:imag": 64, + "contract:13:elements16:real": 64, + "contract:16:elements16:imag": 64, + "contract:16:elements16:real": 64, + "contract:7:elements16:imag": 64, + "contract:7:elements16:real": 64, + "contract:9:elements16:imag": 64, + "contract:9:elements16:real": 64, + "contract:8:elements12:imag": 48, + "contract:8:elements12:real": 48, + "contract:11:elements8:imag": 32, + "contract:11:elements8:real": 32, + "contract:12:elements8:imag": 32, + "contract:12:elements8:real": 32, + "contract:15:elements8:imag": 32, + "contract:15:elements8:real": 32, + "contract:18:elements8:imag": 32, + "contract:18:elements8:real": 32, + "contract:19:elements8:imag": 32, + "contract:19:elements8:real": 32, + "contract:20:elements8:imag": 32, + "contract:20:elements8:real": 32, + "contract:21:elements8:imag": 32, + "contract:21:elements8:real": 32, + "contract:22:elements8:imag": 32, + "contract:22:elements8:real": 32, + "contract:23:elements8:imag": 32, + "contract:23:elements8:real": 32, + "contract:26:elements8:imag": 32, + "contract:26:elements8:real": 32, + "contract:2:elements8:imag": 32, + "contract:2:elements8:real": 32, + "contract:3:elements8:imag": 32, + "contract:3:elements8:real": 32, + "contract:6:elements8:imag": 32, + "contract:6:elements8:real": 32, + "contract:14:elements4:imag": 16, + "contract:14:elements4:real": 16, + "contract:4:elements4:imag": 16, + "contract:4:elements4:real": 16, + "contract:5:elements4:imag": 16, + "contract:5:elements4:real": 16 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 13 + ], + [ + 1, + 3 + ], + [ + 0, + 21 + ], + [ + 0, + 20 + ], + [ + 20, + 21 + ], + [ + 4, + 6 + ], + [ + 13, + 16 + ], + [ + 3, + 4 + ], + [ + 1, + 18 + ], + [ + 0, + 14 + ], + [ + 15, + 16 + ], + [ + 5, + 7 + ], + [ + 2, + 10 + ], + [ + 8, + 13 + ], + [ + 1, + 8 + ], + [ + 4, + 6 + ], + [ + 1, + 8 + ], + [ + 6, + 9 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 0, + 3 + ], + [ + 2, + 5 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "representation": "direct_tn" + }, + "compile_seconds": 0.8586350420009694, + "first_execute_seconds": 0.0010863749994314276, + "warm_seconds_median": 0.0001412919991707895, + "warm_seconds_mad": 2.2291998902801424e-05, + "peak_rss_bytes": 248709120, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 9.730426882661117e-08, + "valid": true, + "failure": null, + "worker_pid": 20741, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950801849365, + 0.2359461784362793, + 0.0 + ], + [ + -0.012097308412194252, + 0.0010320896981284022, + 0.01312924548983574 + ] + ], + [ + [ + 0.46938464045524597, + 0.21860766410827637, + 0.0 + ], + [ + -0.1398434340953827, + -0.2198277860879898, + -0.08128467947244644 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 316, + "temp_size_in_bytes": 5448 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "mpo", + "tensor_count": 29, + "input_tensor_elements": 248, + "path_flops": 1728, + "contractions_per_energy": 1, + "estimated_energy_flops": 1728, + "estimated_energy_tensor_bindings": 29, + "largest_intermediate_elements": 48, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 384, + "residual_profile": { + "residual_count": 149, + "total_bytes": 5328, + "recomputable_bytes": 5040, + "bytes_by_category": { + "primitive:dot_general": 2240, + "jitted:_diag": 1216, + "primitive:conj": 432, + "primitive:scatter": 288, + "literal": 272, + "primitive:reshape": 256, + "primitive:concatenate": 192, + "primitive:stack": 192, + "primitive:exp": 128, + "primitive:cos": 48, + "primitive:sin": 48, + "constant": 16 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 16, + 27 + ], + [ + 4, + 15 + ], + [ + 15, + 25 + ], + [ + 3, + 23 + ], + [ + 0, + 3 + ], + [ + 0, + 22 + ], + [ + 2, + 21 + ], + [ + 0, + 1 + ], + [ + 16, + 17 + ], + [ + 7, + 18 + ], + [ + 0, + 16 + ], + [ + 9, + 12 + ], + [ + 6, + 13 + ], + [ + 0, + 12 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 0, + 10 + ], + [ + 0, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 10.860554333998152, + "first_execute_seconds": 0.0028508750001492444, + "warm_seconds_median": 0.0004613329983840231, + "warm_seconds_mad": 2.1083000319777057e-05, + "peak_rss_bytes": 258834432, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.6965643049249586e-07, + "valid": true, + "failure": null, + "worker_pid": 20755, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209728978574276, + 0.0010320846922695637, + 0.013129252940416336 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128466457128525 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 10048 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 912, + "contractions_per_energy": 5, + "estimated_energy_flops": 4560, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 8, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 21, + "total_bytes": 608, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 16, + 27 + ], + [ + 4, + 15 + ], + [ + 15, + 25 + ], + [ + 3, + 23 + ], + [ + 0, + 3 + ], + [ + 0, + 22 + ], + [ + 2, + 21 + ], + [ + 0, + 1 + ], + [ + 16, + 17 + ], + [ + 7, + 18 + ], + [ + 0, + 16 + ], + [ + 9, + 12 + ], + [ + 6, + 13 + ], + [ + 0, + 12 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 0, + 10 + ], + [ + 0, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 9.464277250001032, + "first_execute_seconds": 0.002153375000489177, + "warm_seconds_median": 0.00032745800126576796, + "warm_seconds_mad": 3.999000909971073e-06, + "peak_rss_bytes": 309985280, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.6965643049249586e-07, + "valid": true, + "failure": null, + "worker_pid": 20915, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209728978574276, + 0.0010320846922695637, + 0.013129252940416336 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128466457128525 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 8128 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 912, + "contractions_per_energy": 5, + "estimated_energy_flops": 4560, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 8, + "contraction_steps": 28, + "rematerialized_steps": 32, + "rematerialized_units": 32, + "saved_named_units": 24, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 141, + "total_bytes": 4448, + "recomputable_bytes": 3840, + "bytes_by_category": { + "named": 3840, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:5:elements8:imag": 160, + "contract:5:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 16, + 27 + ], + [ + 4, + 15 + ], + [ + 15, + 25 + ], + [ + 3, + 23 + ], + [ + 0, + 3 + ], + [ + 0, + 22 + ], + [ + 2, + 21 + ], + [ + 0, + 1 + ], + [ + 16, + 17 + ], + [ + 7, + 18 + ], + [ + 0, + 16 + ], + [ + 9, + 12 + ], + [ + 6, + 13 + ], + [ + 0, + 12 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 0, + 10 + ], + [ + 0, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements8:imag", + "contract:15:elements8:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements4:imag", + "contract:19:elements4:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements8:imag", + "contract:8:elements8:real", + "contract:9:elements8:imag", + "contract:9:elements8:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 9.103923250000662, + "first_execute_seconds": 0.00251370899786707, + "warm_seconds_median": 0.00029879199792048894, + "warm_seconds_mad": 1.8166003428632393e-05, + "peak_rss_bytes": 251183104, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.6965643049249586e-07, + "valid": true, + "failure": null, + "worker_pid": 20991, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209728978574276, + 0.0010320846922695637, + 0.013129252940416336 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128466457128525 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 256, + "temp_size_in_bytes": 8324 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 912, + "contractions_per_energy": 5, + "estimated_energy_flops": 4560, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 8, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 261, + "total_bytes": 7328, + "recomputable_bytes": 6720, + "bytes_by_category": { + "named": 6720, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:11:elements8:imag": 160, + "contract:11:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:15:elements8:imag": 160, + "contract:15:elements8:real": 160, + "contract:17:elements8:imag": 160, + "contract:17:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:26:elements8:imag": 160, + "contract:26:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:8:elements8:imag": 160, + "contract:8:elements8:real": 160, + "contract:9:elements8:imag": 160, + "contract:9:elements8:real": 160, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:19:elements4:imag": 80, + "contract:19:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "auto-hq", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 4, + 16 + ], + [ + 16, + 27 + ], + [ + 4, + 15 + ], + [ + 15, + 25 + ], + [ + 3, + 23 + ], + [ + 0, + 3 + ], + [ + 0, + 22 + ], + [ + 2, + 21 + ], + [ + 0, + 1 + ], + [ + 16, + 17 + ], + [ + 7, + 18 + ], + [ + 0, + 16 + ], + [ + 9, + 12 + ], + [ + 6, + 13 + ], + [ + 0, + 12 + ], + [ + 10, + 13 + ], + [ + 7, + 9 + ], + [ + 0, + 10 + ], + [ + 0, + 10 + ], + [ + 2, + 8 + ], + [ + 2, + 6 + ], + [ + 4, + 7 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 4 + ], + [ + 0, + 2 + ], + [ + 0, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 7.452342458000203, + "first_execute_seconds": 0.0013169579979148693, + "warm_seconds_median": 0.00026166699899476953, + "warm_seconds_mad": 1.9084000086877495e-05, + "peak_rss_bytes": 285573120, + "energy_abs_error": 4.76837158203125e-07, + "gradient_relative_l2_error": 1.6965643049249586e-07, + "valid": true, + "failure": null, + "worker_pid": 21105, + "parent_pid": 20531, + "energy": -2.9412853717803955, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461635351181, + 0.0 + ], + [ + -0.01209728978574276, + 0.0010320846922695637, + 0.013129252940416336 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860764920711517, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128466457128525 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 244, + "temp_size_in_bytes": 7812 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 912, + "contractions_per_energy": 5, + "estimated_energy_flops": 4560, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 8, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 64, + "residual_profile": { + "residual_count": 750, + "total_bytes": 20260, + "recomputable_bytes": 18320, + "bytes_by_category": { + "primitive:dot_general": 6720, + "jitted:_diag": 6080, + "primitive:conj": 2160, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:concatenate": 960, + "primitive:exp": 640, + "constant": 560, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 8.621592790997965, + "first_execute_seconds": 0.002396542000496993, + "warm_seconds_median": 0.00040262499896925874, + "warm_seconds_mad": 4.133400216232985e-05, + "peak_rss_bytes": 311836672, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 21167, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 12548 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "contractions_per_energy": 5, + "estimated_energy_flops": 5240, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 21, + "total_bytes": 608, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:15:elements16:imag", + "contract:15:elements16:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 9.514924167000572, + "first_execute_seconds": 0.003666458000225248, + "warm_seconds_median": 0.00036458300019148737, + "warm_seconds_mad": 1.8083002942148596e-05, + "peak_rss_bytes": 312688640, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 21263, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 12036 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "contractions_per_energy": 5, + "estimated_energy_flops": 5240, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 38, + "rematerialized_units": 38, + "saved_named_units": 18, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 111, + "total_bytes": 5088, + "recomputable_bytes": 4480, + "bytes_by_category": { + "named": 4480, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:15:elements16:imag": 320, + "contract:15:elements16:real": 320, + "contract:6:elements16:imag": 320, + "contract:6:elements16:real": 320, + "contract:7:elements16:imag": 320, + "contract:7:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:9:elements16:imag": 320, + "contract:9:elements16:real": 320, + "contract:0:elements8:imag": 160, + "contract:0:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:2:elements8:imag": 160, + "contract:2:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements8:imag", + "contract:0:elements8:real", + "contract:10:elements4:imag", + "contract:10:elements4:real", + "contract:11:elements4:imag", + "contract:11:elements4:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements8:imag", + "contract:14:elements8:real", + "contract:15:elements16:imag", + "contract:15:elements16:real", + "contract:16:elements4:imag", + "contract:16:elements4:real", + "contract:17:elements4:imag", + "contract:17:elements4:real", + "contract:18:elements8:imag", + "contract:18:elements8:real", + "contract:19:elements8:imag", + "contract:19:elements8:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements8:imag", + "contract:20:elements8:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements8:imag", + "contract:25:elements8:real", + "contract:26:elements4:imag", + "contract:26:elements4:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements4:imag", + "contract:4:elements4:real", + "contract:5:elements4:imag", + "contract:5:elements4:real", + "contract:6:elements16:imag", + "contract:6:elements16:real", + "contract:7:elements16:imag", + "contract:7:elements16:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements16:imag", + "contract:9:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 10.370007250003255, + "first_execute_seconds": 0.0029111250005371403, + "warm_seconds_median": 0.00033062500006053597, + "warm_seconds_mad": 4.383300256449729e-05, + "peak_rss_bytes": 253788160, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 21361, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 11588 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "contractions_per_energy": 5, + "estimated_energy_flops": 5240, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 271, + "total_bytes": 8928, + "recomputable_bytes": 8320, + "bytes_by_category": { + "named": 8320, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:15:elements16:imag": 320, + "contract:15:elements16:real": 320, + "contract:6:elements16:imag": 320, + "contract:6:elements16:real": 320, + "contract:7:elements16:imag": 320, + "contract:7:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:9:elements16:imag": 320, + "contract:9:elements16:real": 320, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:14:elements8:imag": 160, + "contract:14:elements8:real": 160, + "contract:18:elements8:imag": 160, + "contract:18:elements8:real": 160, + "contract:19:elements8:imag": 160, + "contract:19:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:20:elements8:imag": 160, + "contract:20:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:25:elements8:imag": 160, + "contract:25:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:10:elements4:imag": 80, + "contract:10:elements4:real": 80, + "contract:11:elements4:imag": 80, + "contract:11:elements4:real": 80, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:16:elements4:imag": 80, + "contract:16:elements4:real": 80, + "contract:17:elements4:imag": 80, + "contract:17:elements4:real": 80, + "contract:26:elements4:imag": 80, + "contract:26:elements4:real": 80, + "contract:4:elements4:imag": 80, + "contract:4:elements4:real": 80, + "contract:5:elements4:imag": 80, + "contract:5:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 1, + 12 + ], + [ + 2, + 11 + ], + [ + 0, + 21 + ], + [ + 0, + 21 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 1, + 8 + ], + [ + 1, + 7 + ], + [ + 1, + 6 + ], + [ + 0, + 5 + ], + [ + 0, + 4 + ], + [ + 1, + 8 + ], + [ + 0, + 7 + ], + [ + 0, + 7 + ], + [ + 0, + 6 + ], + [ + 1, + 9 + ], + [ + 1, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 0, + 3 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 8.937311333000252, + "first_execute_seconds": 0.002340457998798229, + "warm_seconds_median": 0.0002840410015778616, + "warm_seconds_mad": 1.1500997061375529e-05, + "peak_rss_bytes": 262586368, + "energy_abs_error": 7.152557373046875e-07, + "gradient_relative_l2_error": 2.586198537095005e-07, + "valid": true, + "failure": null, + "worker_pid": 21651, + "parent_pid": 20531, + "energy": -2.9412851333618164, + "gradient": [ + [ + [ + 0.511294960975647, + 0.23594611883163452, + 0.0 + ], + [ + -0.012097304686903954, + 0.001032068394124508, + 0.01312920544296503 + ] + ], + [ + [ + 0.4693845510482788, + 0.21860763430595398, + 0.0 + ], + [ + -0.1398434042930603, + -0.21982774138450623, + -0.08128467202186584 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 9988 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1048, + "contractions_per_energy": 5, + "estimated_energy_flops": 5240, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 21700, + "recomputable_bytes": 19760, + "bytes_by_category": { + "primitive:dot_general": 8320, + "jitted:_diag": 6080, + "primitive:conj": 2480, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:exp": 640, + "constant": 560, + "primitive:concatenate": 480, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 21, + 23 + ], + [ + 5, + 17 + ], + [ + 4, + 15 + ], + [ + 2, + 5 + ], + [ + 13, + 22 + ], + [ + 1, + 3 + ], + [ + 8, + 16 + ], + [ + 12, + 21 + ], + [ + 11, + 12 + ], + [ + 1, + 14 + ], + [ + 14, + 18 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 13 + ], + [ + 3, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 2, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 10.399476832997607, + "first_execute_seconds": 0.002895207999245031, + "warm_seconds_median": 0.0006511249994218815, + "warm_seconds_mad": 6.083002517698333e-06, + "peak_rss_bytes": 292339712, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.534384414279311e-07, + "valid": true, + "failure": null, + "worker_pid": 21765, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.0120973140001297, + 0.0010320651344954967, + 0.013129238039255142 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 11844 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1136, + "contractions_per_energy": 5, + "estimated_energy_flops": 5680, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 56, + "rematerialized_units": 56, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 21, + "total_bytes": 608, + "recomputable_bytes": 0, + "bytes_by_category": { + "constant": 560, + "argument": 48 + }, + "bytes_by_name": {} + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 21, + 23 + ], + [ + 5, + 17 + ], + [ + 4, + 15 + ], + [ + 2, + 5 + ], + [ + 13, + 22 + ], + [ + 1, + 3 + ], + [ + 8, + 16 + ], + [ + 12, + 21 + ], + [ + 11, + 12 + ], + [ + 1, + 14 + ], + [ + 14, + 18 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 13 + ], + [ + 3, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 2, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements16:imag", + "contract:0:elements16:real", + "contract:14:elements16:imag", + "contract:14:elements16:real", + "contract:16:elements16:imag", + "contract:16:elements16:real", + "contract:18:elements16:imag", + "contract:18:elements16:real", + "contract:19:elements16:imag", + "contract:19:elements16:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:25:elements16:imag", + "contract:25:elements16:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:8:elements16:imag", + "contract:8:elements16:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 9.963311958999839, + "first_execute_seconds": 0.0030534159996022936, + "warm_seconds_median": 0.000365167001291411, + "warm_seconds_mad": 3.679200017359108e-05, + "peak_rss_bytes": 325320704, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.534384414279311e-07, + "valid": true, + "failure": null, + "worker_pid": 21985, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.0120973140001297, + 0.0010320651344954967, + 0.013129238039255142 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 284, + "temp_size_in_bytes": 11524 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1136, + "contractions_per_energy": 5, + "estimated_energy_flops": 5680, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 38, + "rematerialized_units": 38, + "saved_named_units": 18, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 111, + "total_bytes": 5568, + "recomputable_bytes": 4960, + "bytes_by_category": { + "named": 4960, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:0:elements16:imag": 320, + "contract:0:elements16:real": 320, + "contract:14:elements16:imag": 320, + "contract:14:elements16:real": 320, + "contract:16:elements16:imag": 320, + "contract:16:elements16:real": 320, + "contract:18:elements16:imag": 320, + "contract:18:elements16:real": 320, + "contract:19:elements16:imag": 320, + "contract:19:elements16:real": 320, + "contract:25:elements16:imag": 320, + "contract:25:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "named", + "threshold_bytes": null, + "path": [ + [ + 21, + 23 + ], + [ + 5, + 17 + ], + [ + 4, + 15 + ], + [ + 2, + 5 + ], + [ + 13, + 22 + ], + [ + 1, + 3 + ], + [ + 8, + 16 + ], + [ + 12, + 21 + ], + [ + 11, + 12 + ], + [ + 1, + 14 + ], + [ + 14, + 18 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 13 + ], + [ + 3, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 2, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": [ + "contract:0:elements16:imag", + "contract:0:elements16:real", + "contract:10:elements8:imag", + "contract:10:elements8:real", + "contract:11:elements8:imag", + "contract:11:elements8:real", + "contract:12:elements4:imag", + "contract:12:elements4:real", + "contract:13:elements8:imag", + "contract:13:elements8:real", + "contract:14:elements16:imag", + "contract:14:elements16:real", + "contract:15:elements4:imag", + "contract:15:elements4:real", + "contract:16:elements16:imag", + "contract:16:elements16:real", + "contract:17:elements8:imag", + "contract:17:elements8:real", + "contract:18:elements16:imag", + "contract:18:elements16:real", + "contract:19:elements16:imag", + "contract:19:elements16:real", + "contract:1:elements8:imag", + "contract:1:elements8:real", + "contract:20:elements4:imag", + "contract:20:elements4:real", + "contract:21:elements8:imag", + "contract:21:elements8:real", + "contract:22:elements8:imag", + "contract:22:elements8:real", + "contract:23:elements8:imag", + "contract:23:elements8:real", + "contract:24:elements8:imag", + "contract:24:elements8:real", + "contract:25:elements16:imag", + "contract:25:elements16:real", + "contract:26:elements8:imag", + "contract:26:elements8:real", + "contract:27:elements1:imag", + "contract:27:elements1:real", + "contract:2:elements8:imag", + "contract:2:elements8:real", + "contract:3:elements8:imag", + "contract:3:elements8:real", + "contract:4:elements8:imag", + "contract:4:elements8:real", + "contract:5:elements8:imag", + "contract:5:elements8:real", + "contract:6:elements4:imag", + "contract:6:elements4:real", + "contract:7:elements4:imag", + "contract:7:elements4:real", + "contract:8:elements16:imag", + "contract:8:elements16:real", + "contract:9:elements4:imag", + "contract:9:elements4:real" + ], + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 12.812069250001514, + "first_execute_seconds": 0.00491195799986599, + "warm_seconds_median": 0.00036995800110162236, + "warm_seconds_mad": 7.495899990317412e-05, + "peak_rss_bytes": 251985920, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.534384414279311e-07, + "valid": true, + "failure": null, + "worker_pid": 22156, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.0120973140001297, + 0.0010320651344954967, + 0.013129238039255142 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 288, + "temp_size_in_bytes": 10304 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1136, + "contractions_per_energy": 5, + "estimated_energy_flops": 5680, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 56, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 271, + "total_bytes": 9888, + "recomputable_bytes": 9280, + "bytes_by_category": { + "named": 9280, + "constant": 560, + "argument": 48 + }, + "bytes_by_name": { + "contract:0:elements16:imag": 320, + "contract:0:elements16:real": 320, + "contract:14:elements16:imag": 320, + "contract:14:elements16:real": 320, + "contract:16:elements16:imag": 320, + "contract:16:elements16:real": 320, + "contract:18:elements16:imag": 320, + "contract:18:elements16:real": 320, + "contract:19:elements16:imag": 320, + "contract:19:elements16:real": 320, + "contract:25:elements16:imag": 320, + "contract:25:elements16:real": 320, + "contract:8:elements16:imag": 320, + "contract:8:elements16:real": 320, + "contract:10:elements8:imag": 160, + "contract:10:elements8:real": 160, + "contract:13:elements8:imag": 160, + "contract:13:elements8:real": 160, + "contract:17:elements8:imag": 160, + "contract:17:elements8:real": 160, + "contract:1:elements8:imag": 160, + "contract:1:elements8:real": 160, + "contract:21:elements8:imag": 160, + "contract:21:elements8:real": 160, + "contract:22:elements8:imag": 160, + "contract:22:elements8:real": 160, + "contract:23:elements8:imag": 160, + "contract:23:elements8:real": 160, + "contract:24:elements8:imag": 160, + "contract:24:elements8:real": 160, + "contract:26:elements8:imag": 160, + "contract:26:elements8:real": 160, + "contract:3:elements8:imag": 160, + "contract:3:elements8:real": 160, + "contract:4:elements8:imag": 160, + "contract:4:elements8:real": 160, + "contract:5:elements8:imag": 160, + "contract:5:elements8:real": 160, + "contract:12:elements4:imag": 80, + "contract:12:elements4:real": 80, + "contract:15:elements4:imag": 80, + "contract:15:elements4:real": 80, + "contract:20:elements4:imag": 80, + "contract:20:elements4:real": 80, + "contract:6:elements4:imag": 80, + "contract:6:elements4:real": 80, + "contract:7:elements4:imag": 80, + "contract:7:elements4:real": 80, + "contract:9:elements4:imag": 80, + "contract:9:elements4:real": 80 + } + } + } + }, + { + "config": { + "path_strategy": "random-greedy", + "remat_policy": "none", + "threshold_bytes": null, + "path": [ + [ + 21, + 23 + ], + [ + 5, + 17 + ], + [ + 4, + 15 + ], + [ + 2, + 5 + ], + [ + 13, + 22 + ], + [ + 1, + 3 + ], + [ + 8, + 16 + ], + [ + 12, + 21 + ], + [ + 11, + 12 + ], + [ + 1, + 14 + ], + [ + 14, + 18 + ], + [ + 1, + 14 + ], + [ + 5, + 9 + ], + [ + 7, + 13 + ], + [ + 3, + 13 + ], + [ + 0, + 11 + ], + [ + 0, + 11 + ], + [ + 3, + 9 + ], + [ + 8, + 9 + ], + [ + 1, + 6 + ], + [ + 1, + 2 + ], + [ + 2, + 5 + ], + [ + 1, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 4 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 0, + 1 + ] + ], + "subtree_depth": null, + "save_names": null, + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "representation": "direct_tn" + }, + "compile_seconds": 10.568467791999865, + "first_execute_seconds": 0.002787833000184037, + "warm_seconds_median": 0.0003032079985132441, + "warm_seconds_mad": 1.2915996194351465e-05, + "peak_rss_bytes": 262553600, + "energy_abs_error": 2.384185791015625e-07, + "gradient_relative_l2_error": 1.534384414279311e-07, + "valid": true, + "failure": null, + "worker_pid": 22399, + "parent_pid": 20531, + "energy": -2.9412856101989746, + "gradient": [ + [ + [ + 0.5112950205802917, + 0.2359461784362793, + 0.0 + ], + [ + -0.0120973140001297, + 0.0010320651344954967, + 0.013129238039255142 + ] + ], + [ + [ + 0.4693846106529236, + 0.21860766410827637, + 0.0 + ], + [ + -0.13984346389770508, + -0.2198277711868286, + -0.08128468692302704 + ] + ] + ], + "jax_memory_analysis": { + "alias_size_in_bytes": 0, + "argument_size_in_bytes": 48, + "generated_code_size_in_bytes": 0, + "host_alias_size_in_bytes": 0, + "host_argument_size_in_bytes": 0, + "host_generated_code_size_in_bytes": 0, + "host_output_size_in_bytes": 0, + "host_temp_size_in_bytes": 0, + "output_size_in_bytes": 68, + "peak_memory_in_bytes": 276, + "temp_size_in_bytes": 10052 + }, + "static_estimate": { + "gate_representation": "dense", + "hamiltonian_representation": "pauli_sum", + "tensor_count": 29, + "input_tensor_elements": 200, + "path_flops": 1136, + "contractions_per_energy": 5, + "estimated_energy_flops": 5680, + "estimated_energy_tensor_bindings": 145, + "largest_intermediate_elements": 16, + "contraction_steps": 28, + "rematerialized_steps": 0, + "rematerialized_units": 0, + "saved_named_units": 0, + "max_step_output_bytes": 128, + "residual_profile": { + "residual_count": 750, + "total_bytes": 22660, + "recomputable_bytes": 20720, + "bytes_by_category": { + "primitive:dot_general": 9280, + "jitted:_diag": 6080, + "primitive:conj": 2480, + "literal": 1380, + "primitive:reshape": 1280, + "primitive:exp": 640, + "constant": 560, + "primitive:concatenate": 480, + "primitive:cos": 240, + "primitive:sin": 240 + }, + "bytes_by_name": {} + } + } + } + ], + "measurement_notes": { + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": "compiler-reported executable fields when available", + "residual_profile": "byte-accounted values retained by JAX reverse mode; this is logical tape size, not liveness-aware peak memory" + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-training-findings.md b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-training-findings.md new file mode 100644 index 000000000..ce8e590ed --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-training-findings.md @@ -0,0 +1,37 @@ +# VQETape VQE time-to-solution findings + +All candidates ran in fresh processes. Time to target includes compilation, first execution, every synchronized value-gradient evaluation, and optimizer overhead. + +## Audited workload + +- Target: open-chain TFIM, 4 qubits, depth-2 RZZ-RX ansatz, energy error at most 0.1. +- Initialization seed: 3; Adam/natural-gradient learning rate: 0.08; natural-gradient damping: 0.01. +- Recycled source: 3 qubits, depth 1, independently converged with L-BFGS-B. + +## Results + +| ID | program | optimizer | start | converged | calls | compile (s) | target (s) | final error | +|---|---|---|---|---:|---:|---:|---:|---:| +| optimizer-adam-zeros | spatial-transfer-greedy-b2-default-u1 | adam | zeros | no | 81 | 2.484 | — | 0.758771 | +| optimizer-adam-random | spatial-transfer-greedy-b2-default-u1 | adam | random | yes | 32 | 3.267 | 3.356 | 0.098981 | +| optimizer-adam-recycled | spatial-transfer-greedy-b2-default-u1 | adam | recycled | yes | 20 | 2.292 | 2.315 | 0.087474 | +| optimizer-lbfgs-zeros | spatial-transfer-greedy-b2-default-u1 | lbfgs | zeros | no | 1 | 3.134 | — | 0.758771 | +| optimizer-lbfgs-random | spatial-transfer-greedy-b2-default-u1 | lbfgs | random | yes | 23 | 2.441 | 2.831 | 0.098451 | +| optimizer-lbfgs-recycled | spatial-transfer-greedy-b2-default-u1 | lbfgs | recycled | yes | 5 | 2.394 | 2.750 | 0.098660 | +| optimizer-natural-gradient-zeros | spatial-transfer-greedy-b2-default-u1 | natural-gradient | zeros | no | 81 | 2.565 | — | 0.758771 | +| optimizer-natural-gradient-random | spatial-transfer-greedy-b2-default-u1 | natural-gradient | random | yes | 4 | 2.440 | 6.958 | 0.088884 | +| optimizer-natural-gradient-recycled | spatial-transfer-greedy-b2-default-u1 | natural-gradient | recycled | yes | 3 | 2.982 | 7.875 | 0.053441 | +| program-statevector | scan-default-u1 | lbfgs | random | yes | 23 | 1.204 | 1.739 | 0.098454 | +| program-z2-native | spatial-transfer-greedy-b1-default-u1-z2-native | lbfgs | random | yes | 23 | 2.501 | 2.962 | 0.098453 | + +## What the measurement supports + +- Fastest converged run: `program-statevector`. This is workload- and machine-specific. +- Zero initialization does not converge here: the RZZ-RX circuit starts at a stationary point, so Adam, L-BFGS-B, and natural gradient cannot leave it. +- Natural gradient reaches the target in very few value-gradient calls from random or recycled starts, but exact QGT construction makes wall time larger on this small CPU run. +- Recycling reduces target-workload calls. Its source cost is 1.639 s and is reported separately; it should only be amortized when a continuation schedule actually reuses that solution. +- Statevector wins this tiny workload. Spatial and Z2-native programs remain exact scalable candidates; their asymptotic memory advantages are not expected to dominate at four qubits. + +## Interpretation boundary + +The report establishes a reproducible end-to-solution method and exposes optimizer/initialization failure modes. It does not claim that one optimizer or tensor representation is universally best. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-training-report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-training-report.json new file mode 100644 index 000000000..940ee55c2 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/outputs/vqetape-training-report.json @@ -0,0 +1,4007 @@ +{ + "schema_version": 1, + "generated_at": "2026-07-29T15:08:16.065146+00:00", + "environment": { + "python": "3.12.13", + "platform": "macOS-15.6-arm64-arm-64bit", + "jax": "0.11.0", + "backend": "cpu", + "devices": [ + { + "id": 0, + "platform": "cpu", + "device_kind": "cpu" + } + ] + }, + "method": { + "fresh_process_per_run": true, + "unique_jax_cache_per_run": true, + "synchronization": "jax.block_until_ready", + "target_includes_compile": true + }, + "recycling_source": { + "request": { + "spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "lbfgs", + "initialization": "random", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.05, + "damping": 0.001, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b1-default-u1", + "converged": true, + "evaluations": 12, + "optimizer_steps": 5, + "compile_seconds": 1.2332716250020894, + "first_execute_seconds": 0.0038390420013456605, + "optimization_seconds": 0.4061272910039406, + "time_to_target_seconds": 1.6393379160072072, + "total_seconds": 1.63939891600603, + "peak_rss_bytes": 259817472, + "ground_energy": -3.4939592074349326, + "target_energy": -3.3939592074349325, + "final_energy": -3.4053304195404053, + "final_parameters": [ + [ + [ + -0.42955118350723137, + -0.33286244786833113, + 0.0 + ], + [ + -0.4363104199435354, + -1.0636866156792906, + -0.8032493030821216 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -2.8904993534088135, + "energy_error": 0.6034598540261191, + "gradient_norm": 0.7382573805008157, + "elapsed_seconds": 0.3974087500027963, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 0, + "energy": -2.4820713996887207, + "energy_error": 1.011887807746212, + "gradient_norm": 1.5390893682319626, + "elapsed_seconds": 0.39844512499985285, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 0, + "energy": -3.0090019702911377, + "energy_error": 0.4849572371437949, + "gradient_norm": 0.11880180494120911, + "elapsed_seconds": 0.3990318330033915, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 1, + "energy": -3.0162391662597656, + "energy_error": 0.477720041175167, + "gradient_norm": 0.16391123372685057, + "elapsed_seconds": 0.40212804100156063, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 1, + "energy": -3.064304828643799, + "energy_error": 0.4296543787911338, + "gradient_norm": 0.32968237631394676, + "elapsed_seconds": 0.4025853749990347, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 1, + "energy": -3.322566509246826, + "energy_error": 0.17139269818810643, + "gradient_norm": 0.34134974460683826, + "elapsed_seconds": 0.40301295799872605, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 2, + "energy": 0.09253328293561935, + "energy_error": 3.586492490370552, + "gradient_norm": 1.4685955910132198, + "elapsed_seconds": 0.40356662499834783, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 2, + "energy": -3.2290611267089844, + "energy_error": 0.2648980807259482, + "gradient_norm": 0.7704798484997152, + "elapsed_seconds": 0.40477479100081837, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 2, + "energy": -3.328026533126831, + "energy_error": 0.16593267430810155, + "gradient_norm": 0.33902078692362, + "elapsed_seconds": 0.4051387080035056, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 3, + "energy": -3.3470993041992188, + "energy_error": 0.14685990323571385, + "gradient_norm": 0.25097133946361494, + "elapsed_seconds": 0.4054265000013402, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 4, + "energy": -3.3805575370788574, + "energy_error": 0.11340167035607518, + "gradient_norm": 0.1867861613267879, + "elapsed_seconds": 0.40573179100465495, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 5, + "energy": -3.4053304195404053, + "energy_error": 0.08862878789452733, + "gradient_norm": 0.1726374415956996, + "elapsed_seconds": 0.4060662910051178, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": 3, + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + }, + "runs": [ + { + "id": "optimizer-adam-zeros", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "adam", + "initialization": "zeros", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": false, + "evaluations": 81, + "optimizer_steps": 80, + "compile_seconds": 2.484464957997261, + "first_execute_seconds": 0.0031575419998262078, + "optimization_seconds": 0.11733466599980602, + "time_to_target_seconds": null, + "total_seconds": 2.601799623997067, + "peak_rss_bytes": 296091648, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -3.9999992847442627, + "final_parameters": [ + [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ], + [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.0033645830044406466, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 1, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.004108458000700921, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 2, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.004669540998293087, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 3, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.005446415998449083, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 4, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.007288332999451086, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 5, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.007847166001738515, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 6, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.008412415998463985, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 7, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.008997333003208041, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 8, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.009515916004602332, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 9, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.010003374998632353, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 10, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.010481875004188623, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 11, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.010919665997789707, + "metric_condition": null + }, + { + "evaluation": 13, + "optimizer_step": 12, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.01134358299896121, + "metric_condition": null + }, + { + "evaluation": 14, + "optimizer_step": 13, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.011781125002016779, + "metric_condition": null + }, + { + "evaluation": 15, + "optimizer_step": 14, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.012207416002638638, + "metric_condition": null + }, + { + "evaluation": 16, + "optimizer_step": 15, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.012624499999219552, + "metric_condition": null + }, + { + "evaluation": 17, + "optimizer_step": 16, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.013118125003529713, + "metric_condition": null + }, + { + "evaluation": 18, + "optimizer_step": 17, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.013555000004998874, + "metric_condition": null + }, + { + "evaluation": 19, + "optimizer_step": 18, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.014020583003002685, + "metric_condition": null + }, + { + "evaluation": 20, + "optimizer_step": 19, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.014443915999436285, + "metric_condition": null + }, + { + "evaluation": 21, + "optimizer_step": 20, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.015234582999255508, + "metric_condition": null + }, + { + "evaluation": 22, + "optimizer_step": 21, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.015822332999960054, + "metric_condition": null + }, + { + "evaluation": 23, + "optimizer_step": 22, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.016332833001797553, + "metric_condition": null + }, + { + "evaluation": 24, + "optimizer_step": 23, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.01803308300441131, + "metric_condition": null + }, + { + "evaluation": 25, + "optimizer_step": 24, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.01962008300324669, + "metric_condition": null + }, + { + "evaluation": 26, + "optimizer_step": 25, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.020263791004254017, + "metric_condition": null + }, + { + "evaluation": 27, + "optimizer_step": 26, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.020939458001521416, + "metric_condition": null + }, + { + "evaluation": 28, + "optimizer_step": 27, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.021783791002235375, + "metric_condition": null + }, + { + "evaluation": 29, + "optimizer_step": 28, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.02274733300146181, + "metric_condition": null + }, + { + "evaluation": 30, + "optimizer_step": 29, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.023352125004748814, + "metric_condition": null + }, + { + "evaluation": 31, + "optimizer_step": 30, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.025192041000991594, + "metric_condition": null + }, + { + "evaluation": 32, + "optimizer_step": 31, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.03184424999926705, + "metric_condition": null + }, + { + "evaluation": 33, + "optimizer_step": 32, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.035882583004422486, + "metric_condition": null + }, + { + "evaluation": 34, + "optimizer_step": 33, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.03997579099814175, + "metric_condition": null + }, + { + "evaluation": 35, + "optimizer_step": 34, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.04301191600097809, + "metric_condition": null + }, + { + "evaluation": 36, + "optimizer_step": 35, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.04516295799840009, + "metric_condition": null + }, + { + "evaluation": 37, + "optimizer_step": 36, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.05365354099922115, + "metric_condition": null + }, + { + "evaluation": 38, + "optimizer_step": 37, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.05456541600142373, + "metric_condition": null + }, + { + "evaluation": 39, + "optimizer_step": 38, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.055414166003174614, + "metric_condition": null + }, + { + "evaluation": 40, + "optimizer_step": 39, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.05607645800046157, + "metric_condition": null + }, + { + "evaluation": 41, + "optimizer_step": 40, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.056567125000583474, + "metric_condition": null + }, + { + "evaluation": 42, + "optimizer_step": 41, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.05902029100252548, + "metric_condition": null + }, + { + "evaluation": 43, + "optimizer_step": 42, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06101041600049939, + "metric_condition": null + }, + { + "evaluation": 44, + "optimizer_step": 43, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06173404100263724, + "metric_condition": null + }, + { + "evaluation": 45, + "optimizer_step": 44, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06212091600173153, + "metric_condition": null + }, + { + "evaluation": 46, + "optimizer_step": 45, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.0625807079995866, + "metric_condition": null + }, + { + "evaluation": 47, + "optimizer_step": 46, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06295041600242257, + "metric_condition": null + }, + { + "evaluation": 48, + "optimizer_step": 47, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06332908300100826, + "metric_condition": null + }, + { + "evaluation": 49, + "optimizer_step": 48, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06387616600113688, + "metric_condition": null + }, + { + "evaluation": 50, + "optimizer_step": 49, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.0642885409979499, + "metric_condition": null + }, + { + "evaluation": 51, + "optimizer_step": 50, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06485083299776306, + "metric_condition": null + }, + { + "evaluation": 52, + "optimizer_step": 51, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06543475000216858, + "metric_condition": null + }, + { + "evaluation": 53, + "optimizer_step": 52, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06586637500004144, + "metric_condition": null + }, + { + "evaluation": 54, + "optimizer_step": 53, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06666170799871907, + "metric_condition": null + }, + { + "evaluation": 55, + "optimizer_step": 54, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06727937499817926, + "metric_condition": null + }, + { + "evaluation": 56, + "optimizer_step": 55, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06780895800329745, + "metric_condition": null + }, + { + "evaluation": 57, + "optimizer_step": 56, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06835454099928029, + "metric_condition": null + }, + { + "evaluation": 58, + "optimizer_step": 57, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06924825000169221, + "metric_condition": null + }, + { + "evaluation": 59, + "optimizer_step": 58, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.06986158300423995, + "metric_condition": null + }, + { + "evaluation": 60, + "optimizer_step": 59, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.07052400000247872, + "metric_condition": null + }, + { + "evaluation": 61, + "optimizer_step": 60, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.0711947500021779, + "metric_condition": null + }, + { + "evaluation": 62, + "optimizer_step": 61, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.07218354100041324, + "metric_condition": null + }, + { + "evaluation": 63, + "optimizer_step": 62, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.0728920410037972, + "metric_condition": null + }, + { + "evaluation": 64, + "optimizer_step": 63, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.07495724999898812, + "metric_condition": null + }, + { + "evaluation": 65, + "optimizer_step": 64, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.07713974999933271, + "metric_condition": null + }, + { + "evaluation": 66, + "optimizer_step": 65, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.08382741599780275, + "metric_condition": null + }, + { + "evaluation": 67, + "optimizer_step": 66, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.08796908300428186, + "metric_condition": null + }, + { + "evaluation": 68, + "optimizer_step": 67, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.09156383300432935, + "metric_condition": null + }, + { + "evaluation": 69, + "optimizer_step": 68, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.09357041600014782, + "metric_condition": null + }, + { + "evaluation": 70, + "optimizer_step": 69, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.0947957079988555, + "metric_condition": null + }, + { + "evaluation": 71, + "optimizer_step": 70, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.09630666600423865, + "metric_condition": null + }, + { + "evaluation": 72, + "optimizer_step": 71, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.09786591600277461, + "metric_condition": null + }, + { + "evaluation": 73, + "optimizer_step": 72, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.10009712500323076, + "metric_condition": null + }, + { + "evaluation": 74, + "optimizer_step": 73, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.10196325000288198, + "metric_condition": null + }, + { + "evaluation": 75, + "optimizer_step": 74, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.10366683299798751, + "metric_condition": null + }, + { + "evaluation": 76, + "optimizer_step": 75, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.10441625000385102, + "metric_condition": null + }, + { + "evaluation": 77, + "optimizer_step": 76, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.10509354100213386, + "metric_condition": null + }, + { + "evaluation": 78, + "optimizer_step": 77, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.1057767500024056, + "metric_condition": null + }, + { + "evaluation": 79, + "optimizer_step": 78, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.10826929099857807, + "metric_condition": null + }, + { + "evaluation": 80, + "optimizer_step": 79, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.11240545799955726, + "metric_condition": null + }, + { + "evaluation": 81, + "optimizer_step": 80, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.11728379099804442, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "zeros", + "seed": null, + "padding_forced_zero": true + }, + "failure": "target not reached within max_steps", + "skipped": false + } + }, + { + "id": "optimizer-adam-random", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "adam", + "initialization": "random", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": true, + "evaluations": 32, + "optimizer_steps": 31, + "compile_seconds": 3.2673016670014476, + "first_execute_seconds": 0.008816000001388602, + "optimization_seconds": 0.09512908299802803, + "time_to_target_seconds": 3.35611987500306, + "total_seconds": 3.3624307499994757, + "peak_rss_bytes": 260472832, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.659789085388184, + "final_parameters": [ + [ + [ + 0.4665968183231339, + -0.5599222773788278, + -0.3213718263210608, + 0.0 + ], + [ + 1.1465741060149592, + -0.19549564026276733, + -0.7859771005282656, + -0.4803012842034722 + ] + ], + [ + [ + -0.20244412674961756, + 0.2988478294820957, + -0.2084652594349718, + 0.0 + ], + [ + 0.09564603642369175, + 0.04427977152404623, + -0.22858955612234166, + -0.549726662507972 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.970587730407715, + "energy_error": 0.7881827527359162, + "gradient_norm": 1.0462381182414333, + "elapsed_seconds": 0.009994416002882645, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 1, + "energy": -4.066744804382324, + "energy_error": 0.6920256787613068, + "gradient_norm": 0.5843946381682775, + "elapsed_seconds": 0.012416083001880907, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 2, + "energy": -4.095556735992432, + "energy_error": 0.6632137471511994, + "gradient_norm": 0.8647065824846504, + "elapsed_seconds": 0.01631074999750126, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 3, + "energy": -4.199352264404297, + "energy_error": 0.5594182187393342, + "gradient_norm": 0.7074984993556571, + "elapsed_seconds": 0.016994124998745974, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 4, + "energy": -4.303623199462891, + "energy_error": 0.4551472836807404, + "gradient_norm": 0.5234350723757976, + "elapsed_seconds": 0.017559583000547718, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 5, + "energy": -4.3697123527526855, + "energy_error": 0.3890581303909455, + "gradient_norm": 0.5676793795657045, + "elapsed_seconds": 0.018324625001696404, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 6, + "energy": -4.408275127410889, + "energy_error": 0.3504953557327424, + "gradient_norm": 0.6595682737970174, + "elapsed_seconds": 0.01886062500125263, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 7, + "energy": -4.439888954162598, + "energy_error": 0.3188815289810334, + "gradient_norm": 0.6696737978491514, + "elapsed_seconds": 0.019552040997950826, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 8, + "energy": -4.466952800750732, + "energy_error": 0.2918176823928986, + "gradient_norm": 0.6715182927278277, + "elapsed_seconds": 0.022740125001291744, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 9, + "energy": -4.491602897644043, + "energy_error": 0.2671675854995881, + "gradient_norm": 0.7133964769287684, + "elapsed_seconds": 0.025948291004169732, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 10, + "energy": -4.519528388977051, + "energy_error": 0.23924209416658027, + "gradient_norm": 0.7566353293593001, + "elapsed_seconds": 0.02775820800161455, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 11, + "energy": -4.551315784454346, + "energy_error": 0.20745469868928534, + "gradient_norm": 0.7592448537636232, + "elapsed_seconds": 0.03227004100335762, + "metric_condition": null + }, + { + "evaluation": 13, + "optimizer_step": 12, + "energy": -4.581817150115967, + "energy_error": 0.17695333302766425, + "gradient_norm": 0.7091067741669738, + "elapsed_seconds": 0.03537262500321958, + "metric_condition": null + }, + { + "evaluation": 14, + "optimizer_step": 13, + "energy": -4.605975151062012, + "energy_error": 0.15279533208161933, + "gradient_norm": 0.6105821711042345, + "elapsed_seconds": 0.036380791003466584, + "metric_condition": null + }, + { + "evaluation": 15, + "optimizer_step": 14, + "energy": -4.620038032531738, + "energy_error": 0.13873245061189277, + "gradient_norm": 0.489653666143839, + "elapsed_seconds": 0.03755945800367044, + "metric_condition": null + }, + { + "evaluation": 16, + "optimizer_step": 15, + "energy": -4.620624542236328, + "energy_error": 0.13814594090730292, + "gradient_norm": 0.4207710885668521, + "elapsed_seconds": 0.04113800000050105, + "metric_condition": null + }, + { + "evaluation": 17, + "optimizer_step": 16, + "energy": -4.608773231506348, + "energy_error": 0.1499972516372834, + "gradient_norm": 0.4714996472827994, + "elapsed_seconds": 0.042054833000293, + "metric_condition": null + }, + { + "evaluation": 18, + "optimizer_step": 17, + "energy": -4.593076229095459, + "energy_error": 0.16569425404817206, + "gradient_norm": 0.5756219158901215, + "elapsed_seconds": 0.04530429100123001, + "metric_condition": null + }, + { + "evaluation": 19, + "optimizer_step": 18, + "energy": -4.584453105926514, + "energy_error": 0.17431737721711738, + "gradient_norm": 0.6433356258003933, + "elapsed_seconds": 0.04917250000289641, + "metric_condition": null + }, + { + "evaluation": 20, + "optimizer_step": 19, + "energy": -4.588886737823486, + "energy_error": 0.16988374532014472, + "gradient_norm": 0.6363352173068975, + "elapsed_seconds": 0.050625875002879184, + "metric_condition": null + }, + { + "evaluation": 21, + "optimizer_step": 20, + "energy": -4.604463577270508, + "energy_error": 0.15430690587312323, + "gradient_norm": 0.554892314840957, + "elapsed_seconds": 0.06030662500415929, + "metric_condition": null + }, + { + "evaluation": 22, + "optimizer_step": 21, + "energy": -4.623476505279541, + "energy_error": 0.13529397786409003, + "gradient_norm": 0.4312235099089606, + "elapsed_seconds": 0.06133333300385857, + "metric_condition": null + }, + { + "evaluation": 23, + "optimizer_step": 22, + "energy": -4.638264179229736, + "energy_error": 0.12050630391389472, + "gradient_norm": 0.3248471727951525, + "elapsed_seconds": 0.06254062500374857, + "metric_condition": null + }, + { + "evaluation": 24, + "optimizer_step": 23, + "energy": -4.646164417266846, + "energy_error": 0.11260606587678534, + "gradient_norm": 0.287562150297136, + "elapsed_seconds": 0.06525270800193539, + "metric_condition": null + }, + { + "evaluation": 25, + "optimizer_step": 24, + "energy": -4.649268627166748, + "energy_error": 0.109501855976883, + "gradient_norm": 0.2942068046759776, + "elapsed_seconds": 0.06897995799954515, + "metric_condition": null + }, + { + "evaluation": 26, + "optimizer_step": 25, + "energy": -4.650294303894043, + "energy_error": 0.10847617924958808, + "gradient_norm": 0.29578567398914246, + "elapsed_seconds": 0.07429666600364726, + "metric_condition": null + }, + { + "evaluation": 27, + "optimizer_step": 26, + "energy": -4.650002479553223, + "energy_error": 0.10876800359040839, + "gradient_norm": 0.29239372285606485, + "elapsed_seconds": 0.07822112499707146, + "metric_condition": null + }, + { + "evaluation": 28, + "optimizer_step": 27, + "energy": -4.6483354568481445, + "energy_error": 0.11043502629548652, + "gradient_norm": 0.3065469139269535, + "elapsed_seconds": 0.0829545410015271, + "metric_condition": null + }, + { + "evaluation": 29, + "optimizer_step": 28, + "energy": -4.646573543548584, + "energy_error": 0.11219693959504706, + "gradient_norm": 0.3347327398633654, + "elapsed_seconds": 0.08498154100379907, + "metric_condition": null + }, + { + "evaluation": 30, + "optimizer_step": 29, + "energy": -4.647273063659668, + "energy_error": 0.11149741948396308, + "gradient_norm": 0.34861238775557785, + "elapsed_seconds": 0.08578879100241465, + "metric_condition": null + }, + { + "evaluation": 31, + "optimizer_step": 30, + "energy": -4.652013778686523, + "energy_error": 0.10675670445710761, + "gradient_norm": 0.3276343762464627, + "elapsed_seconds": 0.0863607499995851, + "metric_condition": null + }, + { + "evaluation": 32, + "optimizer_step": 31, + "energy": -4.659789085388184, + "energy_error": 0.09898139775544745, + "gradient_norm": 0.27064678947492427, + "elapsed_seconds": 0.08881820800161222, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": 3, + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "optimizer-adam-recycled", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "adam", + "initialization": "recycled", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "recycled_parameters": [ + [ + [ + -0.42955118350723137, + -0.33286244786833113, + 0.0 + ], + [ + -0.4363104199435354, + -1.0636866156792906, + -0.8032493030821216 + ] + ] + ] + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": true, + "evaluations": 20, + "optimizer_steps": 19, + "compile_seconds": 2.292264499999874, + "first_execute_seconds": 0.006536166998557746, + "optimization_seconds": 0.023146416002418846, + "time_to_target_seconds": 2.3153870000023744, + "total_seconds": 2.3154109160022927, + "peak_rss_bytes": 279887872, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.6712965965271, + "final_parameters": [ + [ + [ + -0.30013986618668664, + -0.18861320952360955, + -0.25047530794098394, + 0.0 + ], + [ + -0.7965529112493732, + -1.2996887341654682, + -1.0583583526854572, + -0.8001242519439223 + ] + ], + [ + [ + -0.5376803043997213, + -0.5787428625713871, + -0.5045522376126403, + 0.0 + ], + [ + -0.40118584344129526, + -0.7967698668830473, + -0.509432315234806, + -0.6332963180727814 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -4.1041154861450195, + "energy_error": 0.6546549969986115, + "gradient_norm": 1.8798115386493606, + "elapsed_seconds": 0.00664912500360515, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 1, + "energy": -4.436568260192871, + "energy_error": 0.32220222295075995, + "gradient_norm": 1.1934164848036346, + "elapsed_seconds": 0.013297083001816645, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 2, + "energy": -4.6105780601501465, + "energy_error": 0.14819242299348456, + "gradient_norm": 0.5272897331933936, + "elapsed_seconds": 0.013995625005918555, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 3, + "energy": -4.643260955810547, + "energy_error": 0.11550952733308417, + "gradient_norm": 0.3538573258081547, + "elapsed_seconds": 0.014706708003359381, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 4, + "energy": -4.596983909606934, + "energy_error": 0.16178657353669745, + "gradient_norm": 0.7192573049076041, + "elapsed_seconds": 0.01760520800598897, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 5, + "energy": -4.55056619644165, + "energy_error": 0.20820428670198066, + "gradient_norm": 0.8912553731850895, + "elapsed_seconds": 0.018123166002624203, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 6, + "energy": -4.535495758056641, + "energy_error": 0.22327472508699042, + "gradient_norm": 0.8658551487421864, + "elapsed_seconds": 0.01875350000045728, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 7, + "energy": -4.544924259185791, + "energy_error": 0.21384622395784003, + "gradient_norm": 0.7389550233777089, + "elapsed_seconds": 0.0191096250055125, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 8, + "energy": -4.5657124519348145, + "energy_error": 0.1930580312088166, + "gradient_norm": 0.602966943586134, + "elapsed_seconds": 0.019416250004724134, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 9, + "energy": -4.589842796325684, + "energy_error": 0.16892768681794745, + "gradient_norm": 0.5135208377348099, + "elapsed_seconds": 0.019718083000043407, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 10, + "energy": -4.613844394683838, + "energy_error": 0.14492608845979316, + "gradient_norm": 0.4647430906868481, + "elapsed_seconds": 0.020113958002184518, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 11, + "energy": -4.635232448577881, + "energy_error": 0.12353803456575019, + "gradient_norm": 0.4125952764978077, + "elapsed_seconds": 0.02046662499924423, + "metric_condition": null + }, + { + "evaluation": 13, + "optimizer_step": 12, + "energy": -4.649618625640869, + "energy_error": 0.1091518575027619, + "gradient_norm": 0.3451683267306642, + "elapsed_seconds": 0.02087983300589258, + "metric_condition": null + }, + { + "evaluation": 14, + "optimizer_step": 13, + "energy": -4.653185844421387, + "energy_error": 0.10558463872224433, + "gradient_norm": 0.3124365471038818, + "elapsed_seconds": 0.02123833299992839, + "metric_condition": null + }, + { + "evaluation": 15, + "optimizer_step": 14, + "energy": -4.64732551574707, + "energy_error": 0.11144496739656073, + "gradient_norm": 0.35706531717572726, + "elapsed_seconds": 0.021589208001387306, + "metric_condition": null + }, + { + "evaluation": 16, + "optimizer_step": 15, + "energy": -4.639580249786377, + "energy_error": 0.1191902333572541, + "gradient_norm": 0.42396325205114505, + "elapsed_seconds": 0.021894083001825493, + "metric_condition": null + }, + { + "evaluation": 17, + "optimizer_step": 16, + "energy": -4.637735366821289, + "energy_error": 0.12103511632234198, + "gradient_norm": 0.45529001740866976, + "elapsed_seconds": 0.022200916006113403, + "metric_condition": null + }, + { + "evaluation": 18, + "optimizer_step": 17, + "energy": -4.644450664520264, + "energy_error": 0.11431981862336738, + "gradient_norm": 0.4355289219043822, + "elapsed_seconds": 0.022486083005787805, + "metric_condition": null + }, + { + "evaluation": 19, + "optimizer_step": 18, + "energy": -4.657308578491211, + "energy_error": 0.10146190465242011, + "gradient_norm": 0.37512087611124556, + "elapsed_seconds": 0.022802791005233303, + "metric_condition": null + }, + { + "evaluation": 20, + "optimizer_step": 19, + "energy": -4.6712965965271, + "energy_error": 0.08747388661653144, + "gradient_norm": 0.3022439934543203, + "elapsed_seconds": 0.0231225000025006, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "translation-mean-recycle", + "source_spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "target_spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "source_shape": [ + 1, + 2, + 3 + ], + "target_shape": [ + 2, + 2, + 4 + ], + "new_site_fill": "source-layer-active-mean", + "new_layer_fill": "last-source-layer", + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "optimizer-lbfgs-zeros", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "lbfgs", + "initialization": "zeros", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": false, + "evaluations": 1, + "optimizer_steps": 0, + "compile_seconds": 3.1344515419987147, + "first_execute_seconds": 0.0027372499971534126, + "optimization_seconds": 0.44620025000040187, + "time_to_target_seconds": null, + "total_seconds": 3.5806517919991165, + "peak_rss_bytes": 246120448, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -3.9999992847442627, + "final_parameters": [ + [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ], + [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.44526849999965634, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "zeros", + "seed": null, + "padding_forced_zero": true + }, + "failure": "target not reached within max_steps", + "skipped": false + } + }, + { + "id": "optimizer-lbfgs-random", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "lbfgs", + "initialization": "random", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": true, + "evaluations": 23, + "optimizer_steps": 15, + "compile_seconds": 2.440821333002532, + "first_execute_seconds": 0.0017732080013956875, + "optimization_seconds": 0.389920333000191, + "time_to_target_seconds": 2.8306556660027127, + "total_seconds": 2.830741666002723, + "peak_rss_bytes": 275611648, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.6603193283081055, + "final_parameters": [ + [ + [ + 0.19565404847322077, + -0.21030577821357027, + -0.3027861238159288, + 0.0 + ], + [ + 0.8828184036979776, + -0.14385132457634467, + -0.5802378305007027, + -0.49442082750533817 + ] + ], + [ + [ + -0.5609160267870251, + -0.21716663275796655, + -0.2193054929687623, + 0.0 + ], + [ + -0.6357919778039754, + -0.6840001090061995, + -0.444783088510118, + -0.44119472717389785 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.970587730407715, + "energy_error": 0.7881827527359162, + "gradient_norm": 1.0462381182414333, + "elapsed_seconds": 0.3776806670066435, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 0, + "energy": -2.9472975730895996, + "energy_error": 1.8114729100540314, + "gradient_norm": 3.2600665657146277, + "elapsed_seconds": 0.3785889170030714, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 0, + "energy": -4.093392848968506, + "energy_error": 0.6653776341751252, + "gradient_norm": 0.508512245493954, + "elapsed_seconds": 0.37903400000504917, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 1, + "energy": -4.148207187652588, + "energy_error": 0.6105632954910432, + "gradient_norm": 0.5970070723552828, + "elapsed_seconds": 0.3802365420051501, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 1, + "energy": -4.325174808502197, + "energy_error": 0.4335956746414338, + "gradient_norm": 0.69749453082296, + "elapsed_seconds": 0.38073929200618295, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 2, + "energy": -4.061388969421387, + "energy_error": 0.6973815137222443, + "gradient_norm": 1.5567675630940168, + "elapsed_seconds": 0.38114375000441214, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 2, + "energy": -4.362720489501953, + "energy_error": 0.3960499936416779, + "gradient_norm": 0.5860640386235769, + "elapsed_seconds": 0.38164833300106693, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 3, + "energy": -4.421838760375977, + "energy_error": 0.3369317227676545, + "gradient_norm": 0.24087256368308252, + "elapsed_seconds": 0.3820422500066343, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 4, + "energy": -4.444638252258301, + "energy_error": 0.31413223088533027, + "gradient_norm": 0.27115129612717176, + "elapsed_seconds": 0.3824340420032968, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 5, + "energy": -4.477269172668457, + "energy_error": 0.281501310475174, + "gradient_norm": 0.4336546008786285, + "elapsed_seconds": 0.3828930000017863, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 6, + "energy": -1.198053002357483, + "energy_error": 3.560717480786148, + "gradient_norm": 3.7651999159870284, + "elapsed_seconds": 0.3835300830032793, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 6, + "energy": -4.499827861785889, + "energy_error": 0.2589426213577424, + "gradient_norm": 0.5194563036744081, + "elapsed_seconds": 0.38403562500025146, + "metric_condition": null + }, + { + "evaluation": 13, + "optimizer_step": 7, + "energy": -3.2647345066070557, + "energy_error": 1.4940359765365754, + "gradient_norm": 2.761480109317405, + "elapsed_seconds": 0.38461000000097556, + "metric_condition": null + }, + { + "evaluation": 14, + "optimizer_step": 7, + "energy": -4.535159587860107, + "energy_error": 0.22361089528352363, + "gradient_norm": 0.6014936436539243, + "elapsed_seconds": 0.3849589170058607, + "metric_condition": null + }, + { + "evaluation": 15, + "optimizer_step": 8, + "energy": -4.549318313598633, + "energy_error": 0.20945216954499823, + "gradient_norm": 0.5891567082900586, + "elapsed_seconds": 0.38535929200588726, + "metric_condition": null + }, + { + "evaluation": 16, + "optimizer_step": 8, + "energy": -4.561646461486816, + "energy_error": 0.19712402165681464, + "gradient_norm": 0.5674785188145134, + "elapsed_seconds": 0.38583616700634593, + "metric_condition": null + }, + { + "evaluation": 17, + "optimizer_step": 9, + "energy": -4.597549915313721, + "energy_error": 0.16122056782991034, + "gradient_norm": 0.36411353930294205, + "elapsed_seconds": 0.38629875000333413, + "metric_condition": null + }, + { + "evaluation": 18, + "optimizer_step": 10, + "energy": -4.625671863555908, + "energy_error": 0.13309861958772284, + "gradient_norm": 0.37452531404876316, + "elapsed_seconds": 0.3870653330013738, + "metric_condition": null + }, + { + "evaluation": 19, + "optimizer_step": 11, + "energy": -4.637852191925049, + "energy_error": 0.12091829121858222, + "gradient_norm": 0.19880449312309076, + "elapsed_seconds": 0.3874681670058635, + "metric_condition": null + }, + { + "evaluation": 20, + "optimizer_step": 12, + "energy": -4.646669387817383, + "energy_error": 0.11210109532624823, + "gradient_norm": 0.0998231170671519, + "elapsed_seconds": 0.38788729200314265, + "metric_condition": null + }, + { + "evaluation": 21, + "optimizer_step": 13, + "energy": -4.65224027633667, + "energy_error": 0.10653020680696113, + "gradient_norm": 0.05214644285742116, + "elapsed_seconds": 0.3884641670010751, + "metric_condition": null + }, + { + "evaluation": 22, + "optimizer_step": 14, + "energy": -4.6537957191467285, + "energy_error": 0.10497476399690253, + "gradient_norm": 0.049883323221182586, + "elapsed_seconds": 0.3891879170041648, + "metric_condition": null + }, + { + "evaluation": 23, + "optimizer_step": 15, + "energy": -4.6603193283081055, + "energy_error": 0.09845115483552558, + "gradient_norm": 0.09016435318566414, + "elapsed_seconds": 0.3898343330001808, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": 3, + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "optimizer-lbfgs-recycled", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "lbfgs", + "initialization": "recycled", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "recycled_parameters": [ + [ + [ + -0.42955118350723137, + -0.33286244786833113, + 0.0 + ], + [ + -0.4363104199435354, + -1.0636866156792906, + -0.8032493030821216 + ] + ] + ] + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": true, + "evaluations": 5, + "optimizer_steps": 3, + "compile_seconds": 2.3936526250035968, + "first_execute_seconds": 0.002241000001959037, + "optimization_seconds": 0.35655733400199097, + "time_to_target_seconds": 2.7501476670076954, + "total_seconds": 2.7502099590055877, + "peak_rss_bytes": 277741568, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.6601104736328125, + "final_parameters": [ + [ + [ + -0.16308722491637037, + -0.08639804268775089, + -0.14416490863611786, + 0.0 + ], + [ + -0.4557708189059439, + -1.0696648978715715, + -0.801910406904183, + -0.7557201481903225 + ] + ], + [ + [ + -0.3734625840491619, + -0.4169156490958254, + -0.41576181644457094, + 0.0 + ], + [ + -0.36234629063012563, + -0.8114927509120109, + -0.5592188995102424, + -0.6726318113619107 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -4.1041154861450195, + "energy_error": 0.6546549969986115, + "gradient_norm": 1.8798115386493606, + "elapsed_seconds": 0.34582529200270073, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 0, + "energy": -4.2688093185424805, + "energy_error": 0.4899611646011506, + "gradient_norm": 1.6875056999120455, + "elapsed_seconds": 0.3497223340018536, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 1, + "energy": -4.654365539550781, + "energy_error": 0.1044049435928498, + "gradient_norm": 0.11124722470247853, + "elapsed_seconds": 0.35079133399995044, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 2, + "energy": -4.656859397888184, + "energy_error": 0.10191108525544745, + "gradient_norm": 0.07112454455278323, + "elapsed_seconds": 0.3559439590026159, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 3, + "energy": -4.6601104736328125, + "energy_error": 0.09866000951081855, + "gradient_norm": 0.07973783285936654, + "elapsed_seconds": 0.35649504200409865, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "translation-mean-recycle", + "source_spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "target_spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "source_shape": [ + 1, + 2, + 3 + ], + "target_shape": [ + 2, + 2, + 4 + ], + "new_site_fill": "source-layer-active-mean", + "new_layer_fill": "last-source-layer", + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "optimizer-natural-gradient-zeros", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "natural-gradient", + "initialization": "zeros", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": false, + "evaluations": 81, + "optimizer_steps": 80, + "compile_seconds": 2.5648843750022934, + "first_execute_seconds": 0.001698499996564351, + "optimization_seconds": 16.407765167001344, + "time_to_target_seconds": null, + "total_seconds": 18.972649542003637, + "peak_rss_bytes": 313999360, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -3.9999992847442627, + "final_parameters": [ + [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ], + [ + [ + 0.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + 0.0, + 0.0 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 0.001833125003031455, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 1, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 4.356884667002305, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 3, + "optimizer_step": 2, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 4.538902500004042, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 4, + "optimizer_step": 3, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 4.697084334002284, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 5, + "optimizer_step": 4, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 4.809623084001942, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 6, + "optimizer_step": 5, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 4.903907125000842, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 7, + "optimizer_step": 6, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.008726000000024, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 8, + "optimizer_step": 7, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.138096292001137, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 9, + "optimizer_step": 8, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.27029245900485, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 10, + "optimizer_step": 9, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.405926042003557, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 11, + "optimizer_step": 10, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.582791125001677, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 12, + "optimizer_step": 11, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.692315874999622, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 13, + "optimizer_step": 12, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.84603700000298, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 14, + "optimizer_step": 13, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 5.977870417002123, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 15, + "optimizer_step": 14, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 6.105341000002227, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 16, + "optimizer_step": 15, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 6.225844959000824, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 17, + "optimizer_step": 16, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 6.367283792002127, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 18, + "optimizer_step": 17, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 6.552609375001339, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 19, + "optimizer_step": 18, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 6.704045625003346, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 20, + "optimizer_step": 19, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 6.8414339590017335, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 21, + "optimizer_step": 20, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.0188475840041065, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 22, + "optimizer_step": 21, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.150018667001859, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 23, + "optimizer_step": 22, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.2652200420052395, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 24, + "optimizer_step": 23, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.362877292005578, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 25, + "optimizer_step": 24, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.469014042006165, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 26, + "optimizer_step": 25, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.570046459004516, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 27, + "optimizer_step": 26, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.678177375004452, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 28, + "optimizer_step": 27, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 7.895489334005106, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 29, + "optimizer_step": 28, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 8.105954750004457, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 30, + "optimizer_step": 29, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 8.331443875002151, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 31, + "optimizer_step": 30, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 8.615051459004462, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 32, + "optimizer_step": 31, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 8.893075625004712, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 33, + "optimizer_step": 32, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 8.997875834000297, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 34, + "optimizer_step": 33, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 9.162083667004481, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 35, + "optimizer_step": 34, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 9.298302334005712, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 36, + "optimizer_step": 35, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 9.417991792004614, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 37, + "optimizer_step": 36, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 9.585688541999843, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 38, + "optimizer_step": 37, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 9.729043667000951, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 39, + "optimizer_step": 38, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 9.84507300000405, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 40, + "optimizer_step": 39, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.022976000000199, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 41, + "optimizer_step": 40, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.201935000004596, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 42, + "optimizer_step": 41, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.363792667005328, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 43, + "optimizer_step": 42, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.490795167002943, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 44, + "optimizer_step": 43, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.572190250000858, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 45, + "optimizer_step": 44, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.652486292005051, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 46, + "optimizer_step": 45, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.737306542003353, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 47, + "optimizer_step": 46, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 10.871207084004709, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 48, + "optimizer_step": 47, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 11.130970666999929, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 49, + "optimizer_step": 48, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 11.273548249999294, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 50, + "optimizer_step": 49, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 11.493974167002307, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 51, + "optimizer_step": 50, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 11.661161209005513, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 52, + "optimizer_step": 51, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 11.802423375003855, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 53, + "optimizer_step": 52, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 11.94035895900015, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 54, + "optimizer_step": 53, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.040134084003512, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 55, + "optimizer_step": 54, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.139660125001683, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 56, + "optimizer_step": 55, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.24637208400236, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 57, + "optimizer_step": 56, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.366124709005817, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 58, + "optimizer_step": 57, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.591285667003831, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 59, + "optimizer_step": 58, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.711129625000467, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 60, + "optimizer_step": 59, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.810532709001563, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 61, + "optimizer_step": 60, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 12.939505959002418, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 62, + "optimizer_step": 61, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 13.096543209001538, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 63, + "optimizer_step": 62, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 13.209258375005447, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 64, + "optimizer_step": 63, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 13.35285187500267, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 65, + "optimizer_step": 64, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 13.481539792002877, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 66, + "optimizer_step": 65, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 13.58933091700601, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 67, + "optimizer_step": 66, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 13.85789033400215, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 68, + "optimizer_step": 67, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 14.110567042000184, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 69, + "optimizer_step": 68, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 14.291804334003245, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 70, + "optimizer_step": 69, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 14.433154541999102, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 71, + "optimizer_step": 70, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 14.644469584003673, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 72, + "optimizer_step": 71, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 14.801096375005727, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 73, + "optimizer_step": 72, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 14.984289292005997, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 74, + "optimizer_step": 73, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 15.168860249999852, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 75, + "optimizer_step": 74, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 15.409098750002158, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 76, + "optimizer_step": 75, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 15.619645584003592, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 77, + "optimizer_step": 76, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 15.757321500001126, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 78, + "optimizer_step": 77, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 15.924000625003828, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 79, + "optimizer_step": 78, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 16.12519854200218, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 80, + "optimizer_step": 79, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 16.270851667002717, + "metric_condition": 51.00000000000005 + }, + { + "evaluation": 81, + "optimizer_step": 80, + "energy": -3.9999992847442627, + "energy_error": 0.7587711983993684, + "gradient_norm": 0.0, + "elapsed_seconds": 16.407527542003663, + "metric_condition": 51.00000000000005 + } + ], + "initialization_provenance": { + "policy": "zeros", + "seed": null, + "padding_forced_zero": true + }, + "failure": "target not reached within max_steps", + "skipped": false + } + }, + { + "id": "optimizer-natural-gradient-random", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "natural-gradient", + "initialization": "random", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": true, + "evaluations": 4, + "optimizer_steps": 3, + "compile_seconds": 2.4398982920029084, + "first_execute_seconds": 0.0018973749974975362, + "optimization_seconds": 4.5181852919995436, + "time_to_target_seconds": 6.958006376000412, + "total_seconds": 6.958083584002452, + "peak_rss_bytes": 322732032, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.669886112213135, + "final_parameters": [ + [ + [ + 0.559494287041268, + -0.32154137843187847, + -0.3113849592509148, + 0.0 + ], + [ + 0.6298725307886006, + -0.14342940557139283, + -0.7988520076332313, + -0.22988521895640493 + ] + ], + [ + [ + -0.19638029747270005, + 0.5284455203817908, + 0.4710141180268827, + 0.0 + ], + [ + 0.3027995565907632, + 0.5902391149118791, + 0.2726572215905269, + 0.5341079133392408 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.970587730407715, + "energy_error": 0.7881827527359162, + "gradient_norm": 1.0462381182414333, + "elapsed_seconds": 0.0021474169989232905, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 1, + "energy": -4.212218761444092, + "energy_error": 0.5465517216995393, + "gradient_norm": 1.710214904281269, + "elapsed_seconds": 4.292905084002996, + "metric_condition": 50.95048819148355 + }, + { + "evaluation": 3, + "optimizer_step": 2, + "energy": -4.602805137634277, + "energy_error": 0.1559653455093537, + "gradient_norm": 0.5055960154687927, + "elapsed_seconds": 4.39265579199855, + "metric_condition": 50.53706306613956 + }, + { + "evaluation": 4, + "optimizer_step": 3, + "energy": -4.669886112213135, + "energy_error": 0.08888437093049628, + "gradient_norm": 0.17914538990373804, + "elapsed_seconds": 4.518108083997504, + "metric_condition": 50.51682986901135 + } + ], + "initialization_provenance": { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": 3, + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "optimizer-natural-gradient-recycled", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 2, + "symmetry": "none", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "natural-gradient", + "initialization": "recycled", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "recycled_parameters": [ + [ + [ + -0.42955118350723137, + -0.33286244786833113, + 0.0 + ], + [ + -0.4363104199435354, + -1.0636866156792906, + -0.8032493030821216 + ] + ] + ] + }, + "program_label": "spatial-transfer-greedy-b2-default-u1", + "converged": true, + "evaluations": 3, + "optimizer_steps": 2, + "compile_seconds": 2.9815837909991387, + "first_execute_seconds": 0.02080766700237291, + "optimization_seconds": 4.893536417002906, + "time_to_target_seconds": 7.8750602080035605, + "total_seconds": 7.875120208002045, + "peak_rss_bytes": 271695872, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.705329418182373, + "final_parameters": [ + [ + [ + -0.18017980836953917, + -0.3639476193557529, + -0.22393307000361656, + 0.0 + ], + [ + -0.6642726322235285, + -1.3384096312787013, + -1.1983322506688552, + -0.9609799325022277 + ] + ], + [ + [ + -0.521000595573538, + -0.6230974168819637, + -0.5579210933729298, + 0.0 + ], + [ + -0.717331814131961, + -0.5766142275975163, + -0.43841505921801205, + -0.8205390971846404 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -4.1041154861450195, + "energy_error": 0.6546549969986115, + "gradient_norm": 1.8798115386493606, + "elapsed_seconds": 0.02154812500521075, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 1, + "energy": -4.632693767547607, + "energy_error": 0.12607671559602363, + "gradient_norm": 0.43102784625168145, + "elapsed_seconds": 4.718468416998803, + "metric_condition": 45.04759222422079 + }, + { + "evaluation": 3, + "optimizer_step": 2, + "energy": -4.705329418182373, + "energy_error": 0.053441064961258, + "gradient_norm": 0.15711282727693562, + "elapsed_seconds": 4.893476417004422, + "metric_condition": 48.033219831048214 + } + ], + "initialization_provenance": { + "policy": "translation-mean-recycle", + "source_spec": { + "nqubits": 3, + "depth": 1, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "target_spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "source_shape": [ + 1, + 2, + 3 + ], + "target_shape": [ + 2, + 2, + 4 + ], + "new_site_fill": "source-layer-active-mean", + "new_layer_fill": "last-source-layer", + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "program-statevector", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "control_flow": "scan", + "adjoint": "default", + "unroll": 1, + "segment_length": null, + "representation": "statevector" + }, + "optimizer": "lbfgs", + "initialization": "random", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "scan-default-u1", + "converged": true, + "evaluations": 23, + "optimizer_steps": 15, + "compile_seconds": 1.2038961250000284, + "first_execute_seconds": 0.0013180000023567118, + "optimization_seconds": 0.5348042500045267, + "time_to_target_seconds": 1.7386206250012037, + "total_seconds": 1.738700375004555, + "peak_rss_bytes": 278822912, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.660315990447998, + "final_parameters": [ + [ + [ + 0.1956490707631822, + -0.21033193378754994, + -0.3027884858310836, + 0.0 + ], + [ + 0.8828221879211614, + -0.14378688995628863, + -0.5802451539457344, + -0.4943990048042194 + ] + ], + [ + [ + -0.5609140129584549, + -0.21714400134978096, + -0.21928447230755777, + 0.0 + ], + [ + -0.6357669870736355, + -0.6839973124171032, + -0.4447819913250568, + -0.44115864671391636 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.970588207244873, + "energy_error": 0.788182275898758, + "gradient_norm": 1.0462380875880148, + "elapsed_seconds": 0.35799095800030045, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 0, + "energy": -2.9472970962524414, + "energy_error": 1.8114733868911896, + "gradient_norm": 3.2600673759922163, + "elapsed_seconds": 0.35881795800378313, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 0, + "energy": -4.093393325805664, + "energy_error": 0.665377157337967, + "gradient_norm": 0.5085119992856318, + "elapsed_seconds": 0.359333708001941, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 1, + "energy": -4.148209571838379, + "energy_error": 0.6105609113052521, + "gradient_norm": 0.5970068503045787, + "elapsed_seconds": 0.3598060830045142, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 1, + "energy": -4.32517671585083, + "energy_error": 0.43359376729280097, + "gradient_norm": 0.6974962215452724, + "elapsed_seconds": 0.3600673330001882, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 2, + "energy": -4.06139612197876, + "energy_error": 0.6973743611648713, + "gradient_norm": 1.556756500926748, + "elapsed_seconds": 0.3607512080052402, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 2, + "energy": -4.3627214431762695, + "energy_error": 0.3960490399673615, + "gradient_norm": 0.5860649482546183, + "elapsed_seconds": 0.3610855000006268, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 3, + "energy": -4.421840667724609, + "energy_error": 0.33692981541902167, + "gradient_norm": 0.2408717935525654, + "elapsed_seconds": 0.3669473330010078, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 4, + "energy": -4.444640636444092, + "energy_error": 0.31412984669953925, + "gradient_norm": 0.2711517244558274, + "elapsed_seconds": 0.3923876660046517, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 5, + "energy": -4.477268218994141, + "energy_error": 0.2815022641494904, + "gradient_norm": 0.43365619277790957, + "elapsed_seconds": 0.419187375002366, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 6, + "energy": -1.1983931064605713, + "energy_error": 3.5603773766830598, + "gradient_norm": 3.7651913253376175, + "elapsed_seconds": 0.4570393329995568, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 6, + "energy": -4.49983024597168, + "energy_error": 0.25894023717195136, + "gradient_norm": 0.5194698038510626, + "elapsed_seconds": 0.46466466600395506, + "metric_condition": null + }, + { + "evaluation": 13, + "optimizer_step": 7, + "energy": -3.2652158737182617, + "energy_error": 1.4935546094253693, + "gradient_norm": 2.761011682654513, + "elapsed_seconds": 0.48982283300574636, + "metric_condition": null + }, + { + "evaluation": 14, + "optimizer_step": 7, + "energy": -4.535165786743164, + "energy_error": 0.22360469640046698, + "gradient_norm": 0.6015072830065591, + "elapsed_seconds": 0.49106933300208766, + "metric_condition": null + }, + { + "evaluation": 15, + "optimizer_step": 8, + "energy": -4.549342155456543, + "energy_error": 0.20942832768708808, + "gradient_norm": 0.5890665410239416, + "elapsed_seconds": 0.4925285410063225, + "metric_condition": null + }, + { + "evaluation": 16, + "optimizer_step": 8, + "energy": -4.561652660369873, + "energy_error": 0.197117822773758, + "gradient_norm": 0.5674532861449093, + "elapsed_seconds": 0.4978269580024062, + "metric_condition": null + }, + { + "evaluation": 17, + "optimizer_step": 9, + "energy": -4.597558498382568, + "energy_error": 0.1612119847610627, + "gradient_norm": 0.3640569089990038, + "elapsed_seconds": 0.5296215410053264, + "metric_condition": null + }, + { + "evaluation": 18, + "optimizer_step": 10, + "energy": -4.625672340393066, + "energy_error": 0.13309814275056464, + "gradient_norm": 0.37461248084538407, + "elapsed_seconds": 0.5316066250015865, + "metric_condition": null + }, + { + "evaluation": 19, + "optimizer_step": 11, + "energy": -4.637856483459473, + "energy_error": 0.12091399968415839, + "gradient_norm": 0.19879618622803819, + "elapsed_seconds": 0.5330305410025176, + "metric_condition": null + }, + { + "evaluation": 20, + "optimizer_step": 12, + "energy": -4.646670341491699, + "energy_error": 0.11210014165193183, + "gradient_norm": 0.09983159999284111, + "elapsed_seconds": 0.5336957500039716, + "metric_condition": null + }, + { + "evaluation": 21, + "optimizer_step": 13, + "energy": -4.6522417068481445, + "energy_error": 0.10652877629548652, + "gradient_norm": 0.052155084184668576, + "elapsed_seconds": 0.5339996250040713, + "metric_condition": null + }, + { + "evaluation": 22, + "optimizer_step": 14, + "energy": -4.653794288635254, + "energy_error": 0.10497619450837714, + "gradient_norm": 0.04988092740094534, + "elapsed_seconds": 0.5343359160033287, + "metric_condition": null + }, + { + "evaluation": 23, + "optimizer_step": 15, + "energy": -4.660315990447998, + "energy_error": 0.098454492695633, + "gradient_norm": 0.09013266416191403, + "elapsed_seconds": 0.5347245000011753, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": 3, + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + }, + { + "id": "program-z2-native", + "result": { + "request": { + "spec": { + "nqubits": 4, + "depth": 2, + "coupling": 1.0, + "field": 1.0, + "initial_state": "plus", + "dtype": "complex64" + }, + "program": { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "block_width": 1, + "symmetry": "z2-native", + "segment_length": null, + "column_paths": null, + "representation": "spatial_transfer" + }, + "optimizer": "lbfgs", + "initialization": "random", + "target_energy_error": 0.1, + "max_steps": 80, + "seed": 3, + "learning_rate": 0.08, + "damping": 0.01, + "ground_energy": null, + "recycled_source_spec": null, + "recycled_parameters": null + }, + "program_label": "spatial-transfer-greedy-b1-default-u1-z2-native", + "converged": true, + "evaluations": 23, + "optimizer_steps": 15, + "compile_seconds": 2.501413625002897, + "first_execute_seconds": 0.00567066600342514, + "optimization_seconds": 0.46104095799819333, + "time_to_target_seconds": 2.9623850000061793, + "total_seconds": 2.96245458300109, + "peak_rss_bytes": 298696704, + "ground_energy": -4.758770483143631, + "target_energy": -4.658770483143631, + "final_energy": -4.660317420959473, + "final_parameters": [ + [ + [ + 0.19564886194083791, + -0.21031959319292146, + -0.3027913139975643, + 0.0 + ], + [ + 0.8828145271338433, + -0.1437970417035222, + -0.5802405262539679, + -0.4944079904940536 + ] + ], + [ + [ + -0.5609085026545104, + -0.21715189609599325, + -0.21928708230789937, + 0.0 + ], + [ + -0.6357753571176938, + -0.683995743227185, + -0.44478145129676094, + -0.4411694730002602 + ] + ] + ], + "trace": [ + { + "evaluation": 1, + "optimizer_step": 0, + "energy": -3.970587730407715, + "energy_error": 0.7881827527359162, + "gradient_norm": 1.0462381801177534, + "elapsed_seconds": 0.44213783300074283, + "metric_condition": null + }, + { + "evaluation": 2, + "optimizer_step": 0, + "energy": -2.947296380996704, + "energy_error": 1.811474102146927, + "gradient_norm": 3.2600663130303067, + "elapsed_seconds": 0.44585250000091037, + "metric_condition": null + }, + { + "evaluation": 3, + "optimizer_step": 0, + "energy": -4.093392848968506, + "energy_error": 0.6653776341751252, + "gradient_norm": 0.5085115921925534, + "elapsed_seconds": 0.447573083001771, + "metric_condition": null + }, + { + "evaluation": 4, + "optimizer_step": 1, + "energy": -4.148208141326904, + "energy_error": 0.6105623418167268, + "gradient_norm": 0.597006725284157, + "elapsed_seconds": 0.4485923329993966, + "metric_condition": null + }, + { + "evaluation": 5, + "optimizer_step": 1, + "energy": -4.325174331665039, + "energy_error": 0.433596151478592, + "gradient_norm": 0.6974981119703373, + "elapsed_seconds": 0.4494364170022891, + "metric_condition": null + }, + { + "evaluation": 6, + "optimizer_step": 2, + "energy": -4.061396598815918, + "energy_error": 0.6973738843277131, + "gradient_norm": 1.5567497946537185, + "elapsed_seconds": 0.449992875001044, + "metric_condition": null + }, + { + "evaluation": 7, + "optimizer_step": 2, + "energy": -4.3627214431762695, + "energy_error": 0.3960490399673615, + "gradient_norm": 0.5860671597555764, + "elapsed_seconds": 0.45120241699623875, + "metric_condition": null + }, + { + "evaluation": 8, + "optimizer_step": 3, + "energy": -4.421838283538818, + "energy_error": 0.3369321996048127, + "gradient_norm": 0.2408720216822944, + "elapsed_seconds": 0.45194058299966855, + "metric_condition": null + }, + { + "evaluation": 9, + "optimizer_step": 4, + "energy": -4.444639205932617, + "energy_error": 0.31413127721101386, + "gradient_norm": 0.2711510757087276, + "elapsed_seconds": 0.4526419169997098, + "metric_condition": null + }, + { + "evaluation": 10, + "optimizer_step": 5, + "energy": -4.477268218994141, + "energy_error": 0.2815022641494904, + "gradient_norm": 0.43365376813553086, + "elapsed_seconds": 0.45337158299662406, + "metric_condition": null + }, + { + "evaluation": 11, + "optimizer_step": 6, + "energy": -1.1982049942016602, + "energy_error": 3.560565488941971, + "gradient_norm": 3.7651987675218717, + "elapsed_seconds": 0.4539258750010049, + "metric_condition": null + }, + { + "evaluation": 12, + "optimizer_step": 6, + "energy": -4.499825954437256, + "energy_error": 0.2589445287063752, + "gradient_norm": 0.5194610107278904, + "elapsed_seconds": 0.4543769579977379, + "metric_condition": null + }, + { + "evaluation": 13, + "optimizer_step": 7, + "energy": -3.264946937561035, + "energy_error": 1.493823545582596, + "gradient_norm": 2.761270909677714, + "elapsed_seconds": 0.4549152920008055, + "metric_condition": null + }, + { + "evaluation": 14, + "optimizer_step": 7, + "energy": -4.53516149520874, + "energy_error": 0.2236089879348908, + "gradient_norm": 0.6014991039614989, + "elapsed_seconds": 0.4553684170023189, + "metric_condition": null + }, + { + "evaluation": 15, + "optimizer_step": 8, + "energy": -4.549330234527588, + "energy_error": 0.20944024861604316, + "gradient_norm": 0.5891141747789909, + "elapsed_seconds": 0.45586275000096066, + "metric_condition": null + }, + { + "evaluation": 16, + "optimizer_step": 8, + "energy": -4.561651229858398, + "energy_error": 0.1971192532852326, + "gradient_norm": 0.5674670905825774, + "elapsed_seconds": 0.45628037500137, + "metric_condition": null + }, + { + "evaluation": 17, + "optimizer_step": 9, + "energy": -4.5975542068481445, + "energy_error": 0.16121627629548652, + "gradient_norm": 0.3640862684592331, + "elapsed_seconds": 0.4568647499982035, + "metric_condition": null + }, + { + "evaluation": 18, + "optimizer_step": 10, + "energy": -4.625669002532959, + "energy_error": 0.13310148061067206, + "gradient_norm": 0.37456817216273575, + "elapsed_seconds": 0.45739408300141804, + "metric_condition": null + }, + { + "evaluation": 19, + "optimizer_step": 11, + "energy": -4.637855529785156, + "energy_error": 0.1209149533584748, + "gradient_norm": 0.1988001998124144, + "elapsed_seconds": 0.45811787500133505, + "metric_condition": null + }, + { + "evaluation": 20, + "optimizer_step": 12, + "energy": -4.646670341491699, + "energy_error": 0.11210014165193183, + "gradient_norm": 0.09982908951217737, + "elapsed_seconds": 0.4590563329984434, + "metric_condition": null + }, + { + "evaluation": 21, + "optimizer_step": 13, + "energy": -4.652242183685303, + "energy_error": 0.10652829945832831, + "gradient_norm": 0.05215213349596941, + "elapsed_seconds": 0.45973987499746727, + "metric_condition": null + }, + { + "evaluation": 22, + "optimizer_step": 14, + "energy": -4.6537933349609375, + "energy_error": 0.10497714818269355, + "gradient_norm": 0.04988201352318374, + "elapsed_seconds": 0.4602759170011268, + "metric_condition": null + }, + { + "evaluation": 23, + "optimizer_step": 15, + "energy": -4.660317420959473, + "energy_error": 0.09845306218415839, + "gradient_norm": 0.09014545836568953, + "elapsed_seconds": 0.46097137500328245, + "metric_condition": null + } + ], + "initialization_provenance": { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": 3, + "padding_forced_zero": true + }, + "failure": null, + "skipped": false + } + } + ], + "derived": { + "ranking_policy": "converged runs only, ascending synchronized time_to_target_seconds including compilation", + "converged_run_ids": [ + "program-statevector", + "optimizer-adam-recycled", + "optimizer-lbfgs-recycled", + "optimizer-lbfgs-random", + "program-z2-native", + "optimizer-adam-random", + "optimizer-natural-gradient-random", + "optimizer-natural-gradient-recycled" + ], + "best_run_id": "program-statevector", + "recycling": { + "adam": { + "random_evaluations": 32, + "recycled_evaluations": 20, + "target_only_seconds": 2.3153870000023744, + "two_stage_seconds": 3.9547249160095816 + }, + "lbfgs": { + "random_evaluations": 23, + "recycled_evaluations": 5, + "target_only_seconds": 2.7501476670076954, + "two_stage_seconds": 4.389485583014903 + }, + "natural-gradient": { + "random_evaluations": 4, + "recycled_evaluations": 3, + "target_only_seconds": 7.8750602080035605, + "two_stage_seconds": 9.514398124010768 + } + }, + "source_training_seconds": 1.6393379160072072 + } +} \ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/pyproject.toml b/tracks/qcs/solutions/WangTheoPhys/issue33/pyproject.toml new file mode 100644 index 000000000..adf2f6258 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/pyproject.toml @@ -0,0 +1,40 @@ +[build-system] +requires = ["setuptools>=75"] +build-backend = "setuptools.build_meta" + +[project] +name = "vqetape" +version = "0.1.0" +description = "Research compiler prototype for memory-aware VQE value-and-gradient programs" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "jax>=0.4.38,<1", + "numpy>=2.0,<3", + "opt_einsum>=3.4,<4", + "psutil>=6,<8", +] + +[project.optional-dependencies] +test = ["pytest>=8,<10", "scipy>=1.14,<2"] +training = ["scipy>=1.14,<2"] +baseline = [ + "tensorcircuit-ng==1.8.0", + "tensornetwork-ng==0.5.1", + "omeco==0.2.6", + "cotengra==0.8.2", +] + +[project.scripts] +vqetape = "vqetape.cli:main" +vqetape-train = "vqetape.training_cli:main" +vqetape-ansatz = "vqetape.ansatz_report:main" +vqetape-tc-baseline = "vqetape.tensorcircuit_baseline_cli:main" +vqetape-tc-fig2 = "vqetape.tensorcircuit_fig2_cli:main" + +[tool.setuptools.packages.find] +where = ["src"] + +[tool.pytest.ini_options] +testpaths = ["tests"] +addopts = "-ra" diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/build_submission_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/build_submission_report.py new file mode 100644 index 000000000..926d69ec9 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/build_submission_report.py @@ -0,0 +1,832 @@ +#!/usr/bin/env python3 +"""Build the reproducible VQETape reviewer evidence package. + +All numerical claims originate in committed JSON reports under ``outputs/``. +The only curated annotations are the Slurm job-level NVML values already +recorded in ``outputs/tensorcircuit-ng-baseline-findings.md``. +""" + +from __future__ import annotations + +import csv +import hashlib +import html +import json +import math +from dataclasses import asdict, dataclass +from functools import partial +from pathlib import Path +from typing import Any + +from reportlab.graphics.shapes import Drawing, Line, Rect, String +from reportlab.lib import colors +from reportlab.lib.enums import TA_CENTER, TA_LEFT +from reportlab.lib.pagesizes import A4 +from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet +from reportlab.lib.units import mm +from reportlab.pdfbase.ttfonts import TTFont +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfgen.canvas import Canvas +from reportlab.platypus import ( + KeepTogether, + PageBreak, + Paragraph, + SimpleDocTemplate, + Spacer, + Table, + TableStyle, +) + + +ROOT = Path(__file__).resolve().parents[1] +OUTPUTS = ROOT / "outputs" +SUBMISSION = ROOT / "submission" +PDF_DIR = SUBMISSION / "output" / "pdf" +EVIDENCE_COMMIT = "748c5e974573e11a22e639dfe76ff00be9819f78" +EVIDENCE_COMMIT_TIME = "2026-07-30T17:59:47+08:00" +PR_URL = "https://github.com/QuantumBFS/quantum.harness/pull/263" +ISSUE_URL = "https://github.com/QuantumBFS/quantum.harness/issues/33" +SHOWCASE_URL = "https://github.com/JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe" + +NAVY = colors.HexColor("#15233B") +BLUE = colors.HexColor("#2563EB") +CYAN = colors.HexColor("#0891B2") +GREEN = colors.HexColor("#15803D") +INK = colors.HexColor("#172033") +MUTED = colors.HexColor("#526074") +PALE = colors.HexColor("#F3F6FA") +GRID = colors.HexColor("#D7DEE8") +WHITE = colors.white + + +@dataclass(frozen=True) +class BenchmarkRow: + implementation: str + slurm_job: str + compile_s: float + first_s: float + warm_ms: float + warm_mad_ms: float + objective_s: float + host_rss_mib: float + nvml_mib: int + energy_abs_error: float + gradient_rel_l2_error: float + correctness_passed: bool + source_json: str + + +def read_json(name: str) -> dict[str, Any]: + path = OUTPUTS / name + if not path.is_file(): + raise FileNotFoundError(f"missing canonical evidence: {path}") + return json.loads(path.read_text(encoding="utf-8")) + + +def mib(byte_count: int | float) -> float: + return float(byte_count) / 1024**2 + + +def objective(compile_s: float, first_s: float, warm_s: float) -> float: + return compile_s + first_s + 100.0 * warm_s + + +def load_evidence() -> tuple[list[BenchmarkRow], dict[str, Any]]: + tc = read_json("tensorcircuit-ng-rtx3090-matched-n10-d4.json") + sv = read_json("vqetape-gpu-rtx3090-statevector-n10-d4.json") + tn = read_json("vqetape-gpu-rtx3090-direct-tn-n10-d4.json") + sp = read_json("vqetape-gpu-rtx3090-spatial-n10-d4.json") + fig2 = read_json("tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json") + ansatz = read_json("vqetape-ansatz-report.json") + + rows: list[BenchmarkRow] = [] + t = tc["timings"] + rows.append( + BenchmarkRow( + implementation="TensorCircuit-NG / OMECo", + slurm_job="23020496", + compile_s=t["compile_seconds"], + first_s=t["first_execute_seconds"], + warm_ms=1000.0 * t["warm_seconds_median"], + warm_mad_ms=1000.0 * t["warm_seconds_mad"], + objective_s=objective( + t["compile_seconds"], + t["first_execute_seconds"], + t["warm_seconds_median"], + ), + host_rss_mib=mib(tc["memory"]["peak_rss_bytes"]), + nvml_mib=int(tc["memory"]["nvml_job_peak_mib"]), + energy_abs_error=tc["correctness"]["energy_abs_error"], + gradient_rel_l2_error=tc["correctness"][ + "gradient_relative_l2_error" + ], + correctness_passed=bool(tc["correctness"]["tolerance_passed"]), + source_json="outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json", + ) + ) + + candidates = [ + ("VQETape / statevector", sv, "candidate", 272, "23015042"), + ("VQETape / direct TN", tn, "candidate", 274, "23015037"), + ("VQETape / spatial block-2", sp, "candidate", 274, "23015038"), + ] + for label, payload, field, nvml_value, job in candidates: + c = payload[field] + rows.append( + BenchmarkRow( + implementation=label, + slurm_job=job, + compile_s=c["compile_seconds"], + first_s=c["first_execute_seconds"], + warm_ms=1000.0 * c["warm_seconds_median"], + warm_mad_ms=1000.0 * c["warm_seconds_mad"], + objective_s=objective( + c["compile_seconds"], + c["first_execute_seconds"], + c["warm_seconds_median"], + ), + host_rss_mib=mib(c["peak_rss_bytes"]), + nvml_mib=nvml_value, + energy_abs_error=payload["correctness"]["energy_abs_error"], + gradient_rel_l2_error=payload["correctness"][ + "gradient_relative_l2_error" + ], + correctness_passed=bool( + payload["correctness"]["tolerance_passed"] + ), + source_json=f"outputs/{Path(payload_source(payload)).name}", + ) + ) + + if not all(row.correctness_passed for row in rows): + raise RuntimeError("a matched benchmark requires correctness review") + if not fig2["correctness"]["tolerance_passed"]: + raise RuntimeError("the Fig. 2 structural smoke requires correctness review") + + tc_row, _, _, spatial = rows + derived = { + "objective_win_percent": 100.0 + * (tc_row.objective_s - spatial.objective_s) + / tc_row.objective_s, + "host_rss_reduction_percent": 100.0 + * (tc_row.host_rss_mib - spatial.host_rss_mib) + / tc_row.host_rss_mib, + "spatial_warm_reference_ratio": spatial.warm_ms / tc_row.warm_ms, + "statevector_warm_reference_ratio": rows[1].warm_ms / tc_row.warm_ms, + "device_memory_delta_mib": spatial.nvml_mib - tc_row.nvml_mib, + "fig2": { + "nqubits": fig2["protocol"]["ansatz"]["nqubits"], + "depth": fig2["protocol"]["ansatz"]["depth"], + "parameter_count": fig2["protocol"]["ansatz"]["parameter_count"], + "first_s": fig2["timings"]["first_value_and_grad_seconds"], + "warm_ms": 1000.0 + * fig2["timings"]["warm_value_and_grad_seconds_median"], + "energy_abs_error": fig2["correctness"]["energy_abs_error"], + "gradient_rel_l2_error": fig2["correctness"][ + "gradient_relative_l2_error" + ], + "gpu": "NVIDIA RTX 3080", + "slurm_job": "23027373", + }, + "ansatz": ansatz["derived"], + } + return rows, derived + + +def payload_source(payload: dict[str, Any]) -> str: + job = str(payload["hpc_runtime"]["slurm_job_id"]) + by_job = { + "23015042": "vqetape-gpu-rtx3090-statevector-n10-d4.json", + "23015037": "vqetape-gpu-rtx3090-direct-tn-n10-d4.json", + "23015038": "vqetape-gpu-rtx3090-spatial-n10-d4.json", + } + return by_job[job] + + +def fmt_e(value: float) -> str: + return f"{value:.2e}" + + +def write_tsv(rows: list[BenchmarkRow]) -> Path: + path = SUBMISSION / "vqetape-matched-benchmark.tsv" + fields = list(asdict(rows[0]).keys()) + with path.open("w", encoding="utf-8", newline="") as handle: + writer = csv.DictWriter( + handle, delimiter="\t", fieldnames=fields, lineterminator="\n" + ) + writer.writeheader() + for row in rows: + writer.writerow(asdict(row)) + return path + + +def status_text(rows: list[BenchmarkRow], d: dict[str, Any]) -> str: + tc, statevector, _, spatial = rows + return f"""VQETape Issue #33 delivery highlights +Generated from committed evidence snapshot: {EVIDENCE_COMMIT} + +VALIDATED PROTOCOL +Hardware: one NVIDIA RTX 3090, Slurm node c05r05 +Workload: open-boundary TFIM, n=10, L=4, plus state, RZZ then RX, seed=33, complex64 +Correctness: all four matched implementations satisfy energy and full-gradient tolerances + +DEMONSTRATED RESULT - AMORTIZED TIME OBJECTIVE +TensorCircuit-NG compile + first + 100 warm: {tc.objective_s:.4f} s +VQETape spatial compile + first + 100 warm: {spatial.objective_s:.4f} s +VQETape spatial improvement: {d['objective_win_percent']:.1f}% + +DEMONSTRATED RESULT - HOST PROCESS MEMORY +TensorCircuit-NG peak RSS: {tc.host_rss_mib:.1f} MiB +VQETape spatial peak RSS: {spatial.host_rss_mib:.1f} MiB +VQETape spatial reduction: {d['host_rss_reduction_percent']:.1f}% + +MEASURED TRADE-OFF - SUBSEQUENT WARM RUNTIME +TensorCircuit-NG warm median: {tc.warm_ms:.4f} ms +VQETape statevector warm median: {statevector.warm_ms:.4f} ms +VQETape spatial warm median: {spatial.warm_ms:.4f} ms +The current VQETape statevector warm frontier is {d['statevector_warm_reference_ratio']:.2f}x the TensorCircuit-NG reference. + +MEASURED TRADE-OFF - DEVICE MEMORY +Sampled Slurm job NVML peaks span {tc.nvml_mib}-{spatial.nvml_mib} MiB at this size. + +VALIDATED PROTOCOL - PAPER FIGURE 2 +The exact SU(4) find/execute protocol and safe JSON path artifact are implemented. +An RTX 3080 N=6,L=3 execution satisfies direct energy and gradient comparison. + +SCALE-UP TARGET +N=32,L=16 on paper-comparable hardware using the validated Fig. 2 protocol. + +RESEARCH THESIS +VQETape compiles the forward contraction, reverse program, and variational ansatz as one optimization problem. The repository, same-machine baseline, complete data trail, and reviewer package establish a reproducible platform for the next warm-kernel and scale-up frontier. +""" + + +def markdown_report(rows: list[BenchmarkRow], d: dict[str, Any]) -> str: + tc, statevector, direct, spatial = rows + table_rows = "\n".join( + "| {0} | {1:.4f} | {2:.4f} | {3:.4f} | {4:.4f} | {5:.1f} | {6} | {7} |".format( + row.implementation, + row.compile_s, + row.first_s, + row.warm_ms, + row.objective_s, + row.host_rss_mib, + row.nvml_mib, + "VALIDATED" if row.correctness_passed else "REVIEW", + ) + for row in rows + ) + a = d["ansatz"] + f = d["fig2"] + return f"""# VQETape: A Differentiated Co-Design Compiler for Exact VQE + +**Challenge:** [QuantumBFS/quantum.harness #33]({ISSUE_URL}) + +**Team:** Ranger - Junkai Wang + +**Pull request:** [QuantumBFS/quantum.harness #263]({PR_URL}) + +**Public showcase:** [JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe]({SHOWCASE_URL}) + +**Evidence snapshot:** `{EVIDENCE_COMMIT}` + +**Report date:** 2026-07-30 + +> Compile the forward contraction, reverse program, and variational ansatz as one optimization problem. + +## Executive result + +VQETape is an exact, auto-evaluated compiler that searches tensor representation, contraction path, reverse program, saved residuals, checkpoint schedule, symmetry sector, classical optimizer, initialization, and ansatz growth. A controlled same-node TensorCircuit-NG 1.8.0 baseline anchors the result. + +On the matched RTX 3090 workload, VQETape spatial transfer is **{d['objective_win_percent']:.1f}% faster** for `compile + first + 100 warm` and uses **{d['host_rss_reduction_percent']:.1f}% less host peak RSS** than TensorCircuit-NG. The same measurement identifies a precise next frontier: TensorCircuit-NG records a {tc.warm_ms:.4f} ms warm reference, while VQETape statevector records {statevector.warm_ms:.4f} ms. Job-level device samples span {tc.nvml_mib}-{spatial.nvml_mib} MiB. + +| Result area | Status | Evidence | +|---|---|---| +| Auto-iteratable and auto-evaluatable harness | Demonstrated result | Candidate search, isolated workers, exact value-gradient gates, JSON reports, 406-test regression | +| First-time / amortized time efficiency | Demonstrated result | {tc.objective_s:.4f} s TensorCircuit-NG vs {spatial.objective_s:.4f} s VQETape spatial | +| Host space efficiency | Demonstrated result | {tc.host_rss_mib:.1f} MiB vs {spatial.host_rss_mib:.1f} MiB | +| Subsequent warm runtime | Next optimization frontier | {tc.warm_ms:.4f} ms TensorCircuit-NG reference vs {statevector.warm_ms:.4f} ms VQETape statevector | +| Device-memory measurement | Measured trade-off | sampled job peaks {tc.nvml_mib}-{spatial.nvml_mib} MiB | +| TensorCircuit-NG Fig. 2 construction | Validated protocol | direct value-gradient comparison at `N={f['nqubits']},L={f['depth']}` | +| Paper-scale Fig. 2 execution | Scale-up target | `N=32,L=16` on paper-comparable hardware | + +## Problem and protocol + +The core kernel is `theta -> (E(theta), grad E(theta))` for the open-boundary transverse-field Ising model + +`H = -J sum_i Z_i Z_(i+1) - g sum_i X_i`, with `J=g=1`. + +The matched comparison uses one RTX 3090 on Slurm node `c05r05`, `n=10`, depth `L=4`, the plus initial state, RZZ then RX per layer, seed 33, complex64, five synchronized warm repeats, and highest JAX matmul precision. Every candidate is checked against an exact statevector value and complete gradient. + +The declared selection objective is: + +`T_objective = T_compile + T_first + 100 * median(T_warm)`. + +## Matched RTX 3090 result + +| Implementation | Compile (s) | First (s) | Warm median (ms) | Objective (s) | Host RSS (MiB) | NVML (MiB) | Correct | +|---|---:|---:|---:|---:|---:|---:|---| +{table_rows} + +The spatial program crosses the selected amortized threshold because its compile time is {tc.compile_s - spatial.compile_s:.4f} s lower. Steady-state measurements define a complementary design point: its warm call is {d['spatial_warm_reference_ratio']:.2f}x the TensorCircuit-NG reference, while the statevector path is {d['statevector_warm_reference_ratio']:.2f}x. The {d['device_memory_delta_mib']} MiB NVML spread is reported as a measured range. + +## System design and technical contribution + +VQETape treats VQE performance as a joint compiler problem instead of optimizing a single contraction: + +1. **Exact representations:** statevector, direct bra-operator-ket tensor network, and an exact spatial-transfer lowering with a bond-dimension-three TFIM MPO. +2. **Program search:** contraction path, block width, scan/unroll policy, reverse-mode residual strategy, rematerialization, and checkpoint placement. +3. **Physics-aware reductions:** an exact global-X Z2 sector is enabled only when the Hamiltonian, initial state, and ansatz preserve it. +4. **End-to-end VQE co-design:** Adam, L-BFGS-B, exact-QGT natural gradient, initialization/recycling, and adaptive ansatz growth are evaluated with compile and optimizer overhead included. +5. **Auditable execution:** candidates run in fresh processes, record machine-readable JSON, keep memory semantics separate, and enter selection only after value-gradient validation. + +Two technical contributions go beyond a benchmark wrapper. First, explicit contraction-tree VJPs expose logical-tape/runtime trade-offs hidden from forward-only path scores. Second, a commutator-complete YZ/ZY adaptive pool expands the tangent space beyond the stationary X/ZZ pool: the adaptive 10-parameter circuit reaches `{a['gradient_final_error']:.2e}` energy error, while the 14-parameter fixed control records `{a['fixed_final_error']:.2e}` under the audited budget. + +## TensorCircuit-NG Fig. 2 protocol + +The separate Fig. 2 runner encodes the paper's SU(4) ladder ansatz, `15 * L * (N-1)` parameters, TensorNetwork FiniteTFI MPO, contraction-path search, slicing configuration, and checksum-bound safe JSON path artifacts. On an {f['gpu']}, the `N={f['nqubits']},L={f['depth']}` execution ({f['parameter_count']} parameters) records energy error `{f['energy_abs_error']:.2e}` and gradient relative L2 error `{f['gradient_rel_l2_error']:.2e}`. This validates construction and artifact replay; `N=32,L=16` is the declared scale-up target. + +## Verification and provenance + +- Fresh full regression: `406 passed, 6 declared structural cases in 2069.58s`. +- Targeted matched-baseline and Fig. 2 suite: `17 passed`. +- All 27 committed JSON reports parse; all `src/vqetape` Python modules compile; `git diff --check` passes. +- TensorCircuit-NG job `23020496` completed on `c05r05`, reported `cuda:0`, passed strict energy/gradient tolerances, and passed SHA256 provenance checks. +- Fig. 2 smoke job `{f['slurm_job']}` completed on an RTX 3080 and passed direct unsliced value-gradient comparison. + +## Measured trade-offs and research frontier + +Every explored design remains visible in the evidence layer: sparse Z2 metadata trades a smaller exact carry for CPU bookkeeping; exact natural gradient trades fewer iterations for QGT construction; operator-Schmidt gates trade logical tape for executable time; and the precision bridge maps the declared JAX policy into TensorNetwork's cached backend. These observations make the next compiler search directions explicit and reproducible. + +The demonstrated scope is exact one-dimensional TFIM and longitudinal-Ising workloads. The next research trajectory extends the same differentiated-program representation to deeper circuits, two-dimensional networks, multi-GPU slicing, host offload, and the paper-scale Fig. 2 point. The immediate compiler objective is fusion of VQETape's reverse-program advantages with the TensorCircuit-NG warm-kernel reference. + +## Reproduction + +```bash +python3.12 -m venv .venv +.venv/bin/python -m pip install -e '.[test,baseline]' +.venv/bin/python -m pytest -q + +vqetape-tc-baseline \\ + --nqubits 10 --depth 4 --seed 33 --warm-repeats 5 \\ + --expected-steps 100 --contractor omeco \\ + --reference outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json \\ + --output outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json + +python scripts/build_submission_report.py +``` + +Canonical evidence remains under `outputs/`. `submission/vqetape-matched-benchmark.tsv` is the compact data export, `submission/submission-status.txt` is the result map, and `submission/artifact-manifest.json` binds the review artifacts by SHA256. +""" + + +def report_json(rows: list[BenchmarkRow], d: dict[str, Any]) -> dict[str, Any]: + tc, statevector, _, spatial = rows + return { + "title": "VQETape: a differentiated co-design compiler for exact VQE", + "eyebrow": "Quantum Circuit Simulation Track", + "url": PR_URL, + "showcase_url": SHOWCASE_URL, + "lede": ( + "Compile the forward contraction, reverse program, and variational " + "ansatz as one optimization problem. " + f"The matched result improves the 100-step objective by {d['objective_win_percent']:.1f}% " + f"and host RSS by {d['host_rss_reduction_percent']:.1f}%." + ), + "evidence_commit": EVIDENCE_COMMIT, + "sections": [ + { + "title": "Challenge", + "blocks": [ + { + "kind": "text", + "text": "Build an auto-evaluated VQE simulation harness that exceeds the TensorCircuit-NG baseline in time and space efficiency.", + }, + { + "kind": "kv", + "pairs": { + "Issue": ISSUE_URL, + "Track": "qcs", + "Matched system": "RTX 3090; TFIM n=10, L=4", + }, + }, + ], + }, + { + "title": "Approach", + "blocks": [ + {"kind": "badge", "text": "Exact simulation"}, + { + "kind": "text", + "text": "Joint compilation of representation, contraction path, reverse program, saved residuals, checkpoints, symmetry, optimizer, initialization, and ansatz growth.", + }, + ], + }, + { + "title": "Results", + "blocks": [ + { + "kind": "verdict", + "status": "demonstrated", + "text": f"Demonstrated amortized objective ({spatial.objective_s:.4f} s vs {tc.objective_s:.4f} s) and host RSS ({spatial.host_rss_mib:.1f} vs {tc.host_rss_mib:.1f} MiB); measured warm frontier ({statevector.warm_ms:.4f} ms VQETape vs {tc.warm_ms:.4f} ms TensorCircuit-NG reference).", + }, + { + "kind": "table", + "columns": [ + "Implementation", + "Compile s", + "First s", + "Warm ms", + "Objective s", + "RSS MiB", + ], + "rows": [ + [ + r.implementation, + round(r.compile_s, 4), + round(r.first_s, 4), + round(r.warm_ms, 4), + round(r.objective_s, 4), + round(r.host_rss_mib, 1), + ] + for r in rows + ], + }, + ], + }, + { + "title": "Highlight", + "blocks": [ + { + "kind": "card", + "title": "What is innovative", + "text": "A differentiated contraction-program search plus exact spatial transfer, physics-aware reductions, and commutator-complete ansatz/optimizer co-design.", + }, + { + "kind": "card", + "title": "Research frontier", + "text": "Warm-kernel fusion and the N=32,L=16 Fig. 2 execution are the next measured optimization and scale-up targets.", + }, + ], + }, + ], + } + + +def html_report(markdown: str, rows: list[BenchmarkRow], d: dict[str, Any]) -> str: + tc, statevector, _, spatial = rows + table = "".join( + "" + f"{html.escape(r.implementation)}" + f"{r.compile_s:.4f}{r.first_s:.4f}" + f"{r.warm_ms:.4f}{r.objective_s:.4f}" + f"{r.host_rss_mib:.1f}{r.nvml_mib}" + f"{'VALIDATED' if r.correctness_passed else 'REVIEW'}" + for r in rows + ) + return f""" + +VQETape Technical Report +
+
Quantum Circuit Simulation - Challenge #33

VQETape

A differentiated co-design compiler for exact VQE.

Team Ranger - Junkai Wang   |   Pull request #263   |   Public showcase

+

Executive result

+
{d['objective_win_percent']:.1f}%
amortized objective improvement
VQETape spatial vs TensorCircuit-NG
+
{d['host_rss_reduction_percent']:.1f}%
host peak RSS reduction
matched RTX 3090 job
+
{statevector.warm_ms:.2f} ms
VQ warm frontier
{tc.warm_ms:.2f} ms TC-NG reference
+

Compiler thesis. Compile the forward contraction, reverse program, and variational ansatz as one optimization problem. The measured warm reference and validated Fig. 2 protocol define the next optimization and scale-up targets.

+

Matched RTX 3090 evidence

Open TFIM, n=10, L=4, plus state, RZZ then RX, seed 33, complex64, five synchronized warm repeats. Objective = compile + first + 100 warm.

+{table}
ImplementationCompile sFirst sWarm msObjective sRSS MiBNVML MiBCorrect
+

What was built

Differentiated programs
Forward path, algebraic transpose, live residuals, and checkpoint schedules.
Exact spatial lowering
First/bulk/tail/last recurrence with a compact exact boundary.
Adaptive ansatz compiler
Commutator-complete candidates ranked by physics signal and contraction cost.
+

Verification

  • 406 tests passed; six declared structural cases.
  • 17 targeted TensorCircuit-NG baseline/Fig. 2 tests passed.
  • All 27 evidence JSON files parse; source modules compile.
  • TensorCircuit-NG job 23020496 and Fig. 2 job 23027373 completed with validated correctness.
+

Reproduce

python3.12 -m venv .venv
+.venv/bin/python -m pip install -e '.[test,baseline]'
+.venv/bin/python -m pytest -q
+python scripts/build_submission_report.py

The full narrative is available in vqetape-technical-report.md; exact rows are in vqetape-matched-benchmark.tsv.

+ +
""" + + +def register_fonts() -> tuple[str, str]: + candidates = [ + Path("/System/Library/Fonts/Supplemental/Arial.ttf"), + Path("/Library/Fonts/Arial.ttf"), + Path("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"), + ] + bold_candidates = [ + Path("/System/Library/Fonts/Supplemental/Arial Bold.ttf"), + Path("/Library/Fonts/Arial Bold.ttf"), + Path("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"), + ] + regular = next((p for p in candidates if p.is_file()), None) + bold = next((p for p in bold_candidates if p.is_file()), None) + if regular and bold: + pdfmetrics.registerFont(TTFont("VQRegular", str(regular))) + pdfmetrics.registerFont(TTFont("VQBold", str(bold))) + return "VQRegular", "VQBold" + return "Helvetica", "Helvetica-Bold" + + +def p(text: str, style: ParagraphStyle) -> Paragraph: + return Paragraph(text, style) + + +def flow_diagram(font: str, bold: str) -> Drawing: + width, height = 475, 175 + d = Drawing(width, height) + boxes = [ + (5, 105, 104, 48, "Protocol +\nconstraints"), + (126, 105, 104, 48, "Candidate\ngenerator"), + (247, 105, 104, 48, "Fresh-process\ncompile + run"), + (368, 105, 104, 48, "Correctness +\nmetrics"), + ] + for x, y, w, h, label in boxes: + d.add(Rect(x, y, w, h, rx=7, ry=7, fillColor=PALE, strokeColor=BLUE)) + a, b = label.split("\n") + d.add(String(x + w / 2, y + 29, a, textAnchor="middle", fontName=bold, fontSize=9, fillColor=NAVY)) + d.add(String(x + w / 2, y + 16, b, textAnchor="middle", fontName=font, fontSize=8, fillColor=MUTED)) + for x in (109, 230, 351): + d.add(Line(x + 2, 129, x + 15, 129, strokeColor=CYAN, strokeWidth=2)) + d.add(Line(x + 11, 133, x + 15, 129, strokeColor=CYAN, strokeWidth=2)) + d.add(Line(x + 11, 125, x + 15, 129, strokeColor=CYAN, strokeWidth=2)) + lower = [ + (66, 26, 110, 40, "representation / path"), + (183, 26, 110, 40, "AD / checkpoints"), + (300, 26, 110, 40, "optimizer / ansatz"), + ] + for x, y, w, h, label in lower: + d.add(Rect(x, y, w, h, rx=6, ry=6, fillColor=colors.white, strokeColor=GRID)) + d.add(String(x + w / 2, y + 23, label, textAnchor="middle", fontName=font, fontSize=8, fillColor=INK)) + d.add(String(width / 2, 3, "Auto-evaluation feeds measured cost and validity back into selection", textAnchor="middle", fontName=font, fontSize=8, fillColor=MUTED)) + return d + + +def bar_chart( + title: str, + rows: list[BenchmarkRow], + attr: str, + unit: str, + font: str, + bold: str, + highlight_lowest: bool = True, +) -> Drawing: + width, height = 475, 215 + d = Drawing(width, height) + values = [float(getattr(row, attr)) for row in rows] + max_value = max(values) * 1.08 + left, bottom, plot_w, plot_h = 155, 30, 285, 145 + d.add(String(0, 195, title, fontName=bold, fontSize=11, fillColor=NAVY)) + d.add(Line(left, bottom, left, bottom + plot_h, strokeColor=GRID)) + d.add(Line(left, bottom, left + plot_w, bottom, strokeColor=GRID)) + best = min(values) if highlight_lowest else None + for i, (row, value) in enumerate(zip(rows, values, strict=True)): + y = bottom + plot_h - 26 - i * 34 + bar_w = plot_w * value / max_value + color = GREEN if best is not None and math.isclose(value, best) else BLUE + d.add(String(left - 8, y + 5, row.implementation.replace("TensorCircuit-NG / ", "TC-NG / ").replace("VQETape / ", "VQ / "), textAnchor="end", fontName=font, fontSize=8, fillColor=INK)) + d.add(Rect(left, y, bar_w, 17, fillColor=color, strokeColor=None)) + d.add(String(min(left + bar_w + 5, width - 40), y + 5, f"{value:.2f} {unit}", fontName=bold, fontSize=8, fillColor=INK)) + return d + + +def pdf_styles(font: str, bold: str) -> dict[str, ParagraphStyle]: + base = getSampleStyleSheet() + return { + "title": ParagraphStyle("VQTitle", parent=base["Title"], fontName=bold, fontSize=32, leading=35, textColor=NAVY, alignment=TA_LEFT, spaceAfter=12), + "subtitle": ParagraphStyle("VQSubtitle", parent=base["Normal"], fontName=font, fontSize=15, leading=21, textColor=MUTED, spaceAfter=18), + "h1": ParagraphStyle("VQH1", parent=base["Heading1"], fontName=bold, fontSize=20, leading=24, textColor=NAVY, spaceAfter=12), + "h2": ParagraphStyle("VQH2", parent=base["Heading2"], fontName=bold, fontSize=12, leading=15, textColor=BLUE, spaceBefore=8, spaceAfter=6), + "body": ParagraphStyle("VQBody", parent=base["BodyText"], fontName=font, fontSize=9.4, leading=13.5, textColor=INK, spaceAfter=7), + "small": ParagraphStyle("VQSmall", parent=base["BodyText"], fontName=font, fontSize=7.5, leading=10, textColor=MUTED), + "callout": ParagraphStyle("VQCallout", parent=base["BodyText"], fontName=bold, fontSize=11, leading=15, textColor=NAVY, backColor=PALE, borderColor=BLUE, borderWidth=0.8, borderPadding=10, spaceAfter=10), + "frontier": ParagraphStyle("VQFrontier", parent=base["BodyText"], fontName=bold, fontSize=9.5, leading=14, textColor=CYAN, backColor=colors.HexColor("#ECFEFF"), borderColor=CYAN, borderWidth=0.8, borderPadding=9, spaceAfter=10), + "code": ParagraphStyle("VQCode", parent=base["Code"], fontName="Courier", fontSize=7.2, leading=9.5, textColor=colors.HexColor("#E8EEF7"), backColor=colors.HexColor("#101827"), borderPadding=9, spaceAfter=7), + "center": ParagraphStyle("VQCenter", parent=base["BodyText"], fontName=font, fontSize=9, leading=12, alignment=TA_CENTER, textColor=MUTED), + } + + +def metric_cards(rows: list[BenchmarkRow], d: dict[str, Any], styles: dict[str, ParagraphStyle]) -> Table: + tc, statevector, _, spatial = rows + cards = [ + (f"{d['objective_win_percent']:.1f}%
faster amortized objective
VQ spatial vs TC-NG"), + (f"{d['host_rss_reduction_percent']:.1f}%
less host peak RSS
{spatial.host_rss_mib:.1f} vs {tc.host_rss_mib:.1f} MiB"), + (f"{statevector.warm_ms:.2f} ms
VQ warm frontier
{tc.warm_ms:.2f} ms TC-NG reference"), + ] + data = [[Paragraph(x, styles["center"]) for x in cards]] + table = Table(data, colWidths=[55 * mm, 55 * mm, 55 * mm], rowHeights=[31 * mm]) + table.setStyle(TableStyle([ + ("BOX", (0, 0), (-1, -1), 0.7, GRID), + ("INNERGRID", (0, 0), (-1, -1), 0.7, GRID), + ("BACKGROUND", (0, 0), (-1, -1), PALE), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("LEFTPADDING", (0, 0), (-1, -1), 7), + ("RIGHTPADDING", (0, 0), (-1, -1), 7), + ])) + return table + + +def benchmark_table(rows: list[BenchmarkRow], styles: dict[str, ParagraphStyle]) -> Table: + headers = ["Implementation", "Compile\n(s)", "First\n(s)", "Warm\n(ms)", "Objective\n(s)", "Host RSS\n(MiB)", "NVML\n(MiB)"] + data: list[list[Any]] = [[p(h.replace("\n", "
"), styles["small"]) for h in headers]] + for row in rows: + data.append([ + p(row.implementation, styles["small"]), + f"{row.compile_s:.4f}", + f"{row.first_s:.4f}", + f"{row.warm_ms:.4f}", + f"{row.objective_s:.4f}", + f"{row.host_rss_mib:.1f}", + str(row.nvml_mib), + ]) + t = Table(data, colWidths=[45 * mm, 18 * mm, 17 * mm, 20 * mm, 21 * mm, 24 * mm, 19 * mm], repeatRows=1) + t.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, 0), NAVY), + ("TEXTCOLOR", (0, 0), (-1, 0), WHITE), + ("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"), + ("FONTNAME", (0, 1), (-1, -1), "Helvetica"), + ("FONTSIZE", (0, 1), (-1, -1), 7.4), + ("ALIGN", (1, 1), (-1, -1), "RIGHT"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("GRID", (0, 0), (-1, -1), 0.4, GRID), + ("ROWBACKGROUNDS", (0, 1), (-1, -1), [WHITE, PALE]), + ("BACKGROUND", (0, 4), (-1, 4), colors.HexColor("#ECFDF3")), + ("TOPPADDING", (0, 0), (-1, -1), 5), + ("BOTTOMPADDING", (0, 0), (-1, -1), 5), + ])) + return t + + +def build_pdf(path: Path, rows: list[BenchmarkRow], d: dict[str, Any]) -> None: + font, bold = register_fonts() + styles = pdf_styles(font, bold) + doc = SimpleDocTemplate( + str(path), + pagesize=A4, + rightMargin=20 * mm, + leftMargin=20 * mm, + topMargin=18 * mm, + bottomMargin=18 * mm, + title="VQETape Technical Report", + author="Ranger - Junkai Wang", + subject="Quantum Harness Challenge #33", + ) + + def footer(canvas: Any, document: Any) -> None: + canvas.saveState() + canvas.setStrokeColor(GRID) + canvas.line(20 * mm, 13 * mm, A4[0] - 20 * mm, 13 * mm) + canvas.setFillColor(MUTED) + canvas.setFont(font, 7) + canvas.drawString(20 * mm, 8.5 * mm, "VQETape - Quantum Harness Challenge #33") + canvas.drawRightString(A4[0] - 20 * mm, 8.5 * mm, f"{document.page}") + canvas.restoreState() + + tc, statevector, direct, spatial = rows + fig2 = d["fig2"] + a = d["ansatz"] + story: list[Any] = [] + + # Page 1 + story += [Spacer(1, 14 * mm), p("DIFFERENTIATED CO-DESIGN COMPILER", styles["h2"]), p("VQETape", styles["title"]), p("Compile the forward contraction, reverse program, and variational ansatz as one optimization problem.", styles["subtitle"]), Spacer(1, 5 * mm), metric_cards(rows, d, styles), Spacer(1, 8 * mm), p("DEMONSTRATED RESULT", styles["h2"]), p(f"On one matched RTX 3090, VQETape spatial transfer records {spatial.objective_s:.4f} s for compile + first + 100 warm calls versus {tc.objective_s:.4f} s for TensorCircuit-NG, an {d['objective_win_percent']:.1f}% improvement. Host peak RSS moves from {tc.host_rss_mib:.1f} to {spatial.host_rss_mib:.1f} MiB, a {d['host_rss_reduction_percent']:.1f}% reduction. The measured warm reference and validated Fig. 2 construction define two precise scale-forward targets.", styles["callout"]), Spacer(1, 3 * mm), p(f"Team Ranger - Junkai Wang
Challenge #33 - PR #263
Evidence snapshot: {EVIDENCE_COMMIT[:12]}
30 July 2026", styles["body"]), PageBreak()] + + # Page 2 + story += [p("1. From contraction order to differentiated-program co-design", styles["h1"]), p("TensorCircuit-NG supplies a tensor-native computational graph, automatic differentiation, contraction-path optimization, slicing, and distributed execution. VQETape adds a complementary compiler layer: the reverse program, saved residuals, checkpoint schedule, exact symmetry sector, optimizer, and ansatz growth enter the same measured search space as the forward contraction.", styles["body"]), p("Matched physical protocol", styles["h2"]), p("Open-boundary transverse-field Ising model: H = -J sum Z_i Z_(i+1) - g sum X_i, with J=g=1. The matched run uses n=10, depth L=4, the plus initial state, RZZ then RX per layer, seed 33, complex64, and five synchronized warm repetitions on one NVIDIA RTX 3090.", styles["body"]), p("Selection objective", styles["h2"]), p("T_objective = T_compile + T_first + 100 x median(T_warm). Compilation includes measured path search. Energy and the complete gradient must satisfy 1e-5 tolerances before selection.", styles["callout"]), p("Compiler feedback loop", styles["h2"]), flow_diagram(font, bold), p("Each candidate runs in an isolated process. Time, host RSS, compiler temporaries, logical residuals, modeled checkpoints, and job-level NVML samples remain distinct fields with explicit semantics.", styles["body"]), PageBreak()] + + # Page 3 + story += [p("2. Matched RTX 3090 performance", styles["h1"]), p("All rows below use the same physical workload, node, seed, precision policy, and correctness gate. The green row is selected for the declared 100-step objective; the statevector row anchors the current VQETape warm frontier.", styles["body"]), benchmark_table(rows, styles), Spacer(1, 6 * mm), bar_chart("Compile + first + 100 warm (lower is better)", rows, "objective_s", "s", font, bold), p(f"Exact spatial transfer crosses the amortized threshold at {spatial.objective_s:.4f} s versus {tc.objective_s:.4f} s. Compilation is the decisive lever: {spatial.compile_s:.4f} s versus {tc.compile_s:.4f} s.", styles["body"]), PageBreak()] + + # Page 4 + story += [p("3. Runtime and memory design space", styles["h1"]), bar_chart("Warm value-gradient median (lower is better)", rows, "warm_ms", "ms", font, bold), bar_chart("Peak host process RSS (lower is better)", rows, "host_rss_mib", "MiB", font, bold), p(f"NEXT OPTIMIZATION FRONTIER: TensorCircuit-NG records a {tc.warm_ms:.4f} ms warm reference; the current VQETape statevector frontier is {statevector.warm_ms:.4f} ms ({d['statevector_warm_reference_ratio']:.2f}x the reference), while the selected spatial path records {spatial.warm_ms:.4f} ms. This directs the next compiler pass toward warm-kernel fusion while retaining differentiated-program control.", styles["frontier"]), p(f"DEMONSTRATED RESULT: host RSS moves from {tc.host_rss_mib:.1f} to {spatial.host_rss_mib:.1f} MiB. MEASURED TRADE-OFF: job-level NVML samples are {tc.nvml_mib}, {statevector.nvml_mib}, {direct.nvml_mib}, and {spatial.nvml_mib} MiB, a compact {min(r.nvml_mib for r in rows)}-{max(r.nvml_mib for r in rows)} MiB range.", styles["body"]), PageBreak()] + + # Page 5 + verification_data = [ + ["Gate", "Evidence", "Result"], + ["Matched correctness", "Energy + complete gradient; 1e-5 tolerance", "VALIDATED"], + ["Full regression", "406 tests; 6 declared structural cases", "VALIDATED"], + ["Incremental suite", "17 baseline and Fig. 2 tests", "VALIDATED"], + ["Static artifacts", "27 JSON parse; Python compile; diff check", "VALIDATED"], + ["TC-NG GPU run", "Slurm 23020496; cuda:0; SHA256 audit", "VALIDATED"], + ["Fig. 2 protocol", f"RTX 3080 N={fig2['nqubits']},L={fig2['depth']} execution", "VALIDATED"], + ["Paper-scale Fig. 2", "N=32,L=16 on comparable hardware", "SCALE TARGET"], + ] + vt = Table([[p(str(x), styles["small"]) for x in row] for row in verification_data], colWidths=[38 * mm, 102 * mm, 27 * mm]) + vt.setStyle(TableStyle([("BACKGROUND", (0, 0), (-1, 0), NAVY), ("TEXTCOLOR", (0, 0), (-1, 0), WHITE), ("GRID", (0, 0), (-1, -1), 0.4, GRID), ("ROWBACKGROUNDS", (0, 1), (-1, -1), [WHITE, PALE]), ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), ("TOPPADDING", (0, 0), (-1, -1), 6), ("BOTTOMPADDING", (0, 0), (-1, -1), 6)])) + story += [p("4. Correctness, precision, and provenance", styles["h1"]), p("Mathematical and operational comparability is a compiler invariant. VQETape records protocol, seed, precision, value, full gradient, timing boundaries, memory semantics, node/job identity, and source checksums.", styles["body"]), vt, Spacer(1, 7 * mm), p("Validated Fig. 2 construction", styles["h2"]), p(f"The SU(4) runner preserves 15 x L x (N-1) parameters, TensorNetwork FiniteTFI MPO construction, find/execute separation, slicing controls, and checksum-bound JSON path artifacts. Job {fig2['slurm_job']} at N={fig2['nqubits']}, L={fig2['depth']} records energy error {fmt_e(fig2['energy_abs_error'])} and gradient relative L2 error {fmt_e(fig2['gradient_rel_l2_error'])}.", styles["body"]), p("SCALE-UP TARGET: execute the same validated protocol at N=32,L=16 on paper-comparable hardware.", styles["frontier"]), PageBreak()] + + # Page 6 + story += [p("5. Four technical innovations", styles["h1"]), p("VQETape turns the whole differentiated VQE iteration into a compiler search object.", styles["body"]), p("1 - Differentiated contraction programming", styles["h2"]), p("Serialized contraction trees, algebraic transpose einsums, live residual accounting, and checkpoint policies expose the reverse program alongside forward FLOPs and traffic.", styles["body"]), p("2 - Exact spatial-transfer lowering", styles["h2"]), p("First/bulk/tail/last programs carry only the exact boundary and avoid a dense transfer matrix. Block width, scan, rematerialization, segmented adjoints, and explicit VJPs become selectable compiler axes.", styles["body"]), p("3 - Commutator-complete adaptive ansatz", styles["h2"]), p(f"Exact insertion gradients and Fubini-Study normalization rank YZ/ZY candidates with contraction-cost deltas. The adaptive circuit reaches {a['gradient_final_error']:.2e} energy error with {a['gradient_final_parameter_count']} parameters; the {a['fixed_final_parameter_count']}-parameter fixed control records {a['fixed_final_error']:.2e}.", styles["body"]), p("4 - Correctness-gated auto-evaluation", styles["h2"]), p("Isolated processes capture timing and distinct memory semantics. A precision bridge maps the declared JAX policy into TensorNetwork's cached backend, making numerical precision a reproducible contract.", styles["body"]), p("JOINT ADVANTAGE: isolated path, AD, checkpoint, optimizer, or ansatz tuning sees only one projection of cost. VQETape can exchange cost across all of them while preserving one exact value-gradient contract.", styles["frontier"]), PageBreak()] + + # Page 7 + status_data = [ + ["Requirement", "Status", "Reviewer consequence"], + ["Repository and harness", "DELIVERED", "Installable package, CLI/API, tests, safe artifacts"], + ["Controlled TC-NG baseline", "VALIDATED", "Same node, protocol, seed, precision, correctness"], + ["Amortized objective", "DEMONSTRATED", f"{d['objective_win_percent']:.1f}% improvement at matched size"], + ["Host memory", "DEMONSTRATED", f"{d['host_rss_reduction_percent']:.1f}% lower peak RSS"], + ["Warm runtime", "NEXT FRONTIER", f"{statevector.warm_ms:.2f} ms VQ vs {tc.warm_ms:.2f} ms reference"], + ["GPU memory", "MEASURED", f"{min(r.nvml_mib for r in rows)}-{max(r.nvml_mib for r in rows)} MiB job-level range"], + ["Paper-scale Fig. 2", "SCALE TARGET", "Validated protocol ready for N=32,L=16"], + ] + st = Table([[p(str(x), styles["small"]) for x in row] for row in status_data], colWidths=[48 * mm, 31 * mm, 88 * mm]) + st.setStyle(TableStyle([("BACKGROUND", (0, 0), (-1, 0), NAVY), ("TEXTCOLOR", (0, 0), (-1, 0), WHITE), ("GRID", (0, 0), (-1, -1), 0.4, GRID), ("ROWBACKGROUNDS", (0, 1), (-1, -1), [WHITE, PALE]), ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), ("TOPPADDING", (0, 0), (-1, -1), 6), ("BOTTOMPADDING", (0, 0), (-1, -1), 6)])) + story += [p("6. Delivery and research trajectory", styles["h1"]), st, Spacer(1, 6 * mm), p("Clean reproduction", styles["h2"]), p("python3.12 -m venv .venv
.venv/bin/python -m pip install -e '.[test,baseline]'
.venv/bin/python -m pytest -q
python scripts/build_submission_report.py", styles["code"]), p("Reviewer entry points", styles["h2"]), p("README.md - thesis, results, and fast-start navigation
submission/vqetape-matched-benchmark.tsv - compact machine-readable rows
submission/submission-status.txt - result map and research frontier
submission/vqetape-technical-report.md - full narrative
submission/report.html - standalone browser report
submission/artifact-manifest.json - SHA256 artifact binding
github.com/JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe - public showcase", styles["body"]), p("Research conclusion", styles["h2"]), p("VQETape crosses the controlled same-machine baseline threshold on the declared 100-step objective and host RSS while establishing a broader contribution: exact forward, reverse, and physics structure can be compiled together. The warm-kernel reference and N=32,L=16 deployment are now concrete, instrumented optimization targets built on a validated platform.", styles["callout"])] + + doc.build( + story, + onFirstPage=footer, + onLaterPages=footer, + canvasmaker=partial(Canvas, invariant=1), + ) + + +def sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as handle: + for block in iter(lambda: handle.read(1024 * 1024), b""): + digest.update(block) + return digest.hexdigest() + + +def write_manifest(paths: list[Path]) -> Path: + manifest = { + "schema_version": 1, + "generated_at": EVIDENCE_COMMIT_TIME, + "evidence_commit": EVIDENCE_COMMIT, + "challenge_issue": ISSUE_URL, + "pull_request": PR_URL, + "public_showcase": SHOWCASE_URL, + "artifacts": [ + { + "path": str(path.relative_to(ROOT)), + "bytes": path.stat().st_size, + "sha256": sha256(path), + } + for path in paths + ], + "canonical_evidence": [ + { + "path": str(path.relative_to(ROOT)), + "bytes": path.stat().st_size, + "sha256": sha256(path), + } + for path in sorted( + [ + OUTPUTS / "tensorcircuit-ng-rtx3090-matched-n10-d4.json", + OUTPUTS / "vqetape-gpu-rtx3090-statevector-n10-d4.json", + OUTPUTS / "vqetape-gpu-rtx3090-direct-tn-n10-d4.json", + OUTPUTS / "vqetape-gpu-rtx3090-spatial-n10-d4.json", + OUTPUTS / "tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json", + OUTPUTS / "vqetape-ansatz-report.json", + ] + ) + ], + } + path = SUBMISSION / "artifact-manifest.json" + path.write_text(json.dumps(manifest, indent=2) + "\n", encoding="utf-8") + return path + + +def main() -> int: + SUBMISSION.mkdir(parents=True, exist_ok=True) + PDF_DIR.mkdir(parents=True, exist_ok=True) + print("[1/6] loading canonical evidence", flush=True) + rows, derived = load_evidence() + print("[2/6] writing data and status", flush=True) + tsv = write_tsv(rows) + status = SUBMISSION / "submission-status.txt" + status.write_text(status_text(rows, derived), encoding="utf-8") + print("[3/6] writing Markdown, JSON, and HTML", flush=True) + md_text = markdown_report(rows, derived) + md = SUBMISSION / "vqetape-technical-report.md" + md.write_text(md_text, encoding="utf-8") + rjson = SUBMISSION / "report.json" + report_payload = report_json(rows, derived) + report_payload["evidence_git_head"] = EVIDENCE_COMMIT + rjson.write_text(json.dumps(report_payload, indent=2) + "\n", encoding="utf-8") + htm = SUBMISSION / "report.html" + htm.write_text(html_report(md_text, rows, derived), encoding="utf-8") + print("[4/6] building PDF", flush=True) + pdf = PDF_DIR / "vqetape-technical-report.pdf" + build_pdf(pdf, rows, derived) + print("[5/6] writing SHA256 manifest", flush=True) + manifest = write_manifest([tsv, status, md, rjson, htm, pdf]) + print("[6/6] complete", flush=True) + for path in [tsv, status, rjson, md, htm, pdf, manifest]: + print(f" {path.relative_to(ROOT)}", flush=True) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/tensorcircuit-ng-fig2-rtx3090-smoke.sbatch b/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/tensorcircuit-ng-fig2-rtx3090-smoke.sbatch new file mode 100755 index 000000000..3f91cb548 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/tensorcircuit-ng-fig2-rtx3090-smoke.sbatch @@ -0,0 +1,148 @@ +#!/usr/bin/env bash +#SBATCH --job-name=tcng-fig2-smoke +#SBATCH --account=giggleliu +#SBATCH --partition=xhhgnormal01 +#SBATCH --nodes=1 +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=24G +#SBATCH --gres=gpu:1 +#SBATCH --time=00:30:00 +#SBATCH --output=/work/share/giggleliu/vqetape_issue33_20260730/logs/tcng-fig2-smoke-%j.out + +# The default partition preserves the same RTX 3090 environment as the +# matched baseline. A correctness-only smoke may override the partition at +# submission time; the script always records the actual GPU model. + +set -euo pipefail + +run_root=/work/share/giggleliu/vqetape_issue33_20260730 +stage_root="$run_root/tcng-baseline-20260730" +env_root="$run_root/env/py312" +overlay_root="$run_root/env/tcng-overlay-py312" +result_root="$run_root/results/tensorcircuit-ng-fig2-job${SLURM_JOB_ID}" +path_json="$result_root/fig2-path.json" +result_json="$result_root/fig2-run.json" +memory_samples="$result_root/gpu-memory-samples.csv" + +# Safe defaults are a correctness smoke test. A formal attempt must set all +# scale variables explicitly; this prevents an accidental 640-trial path +# search from being submitted while inspecting the script. +nqubits="${TCNG_FIG2_NQUBITS:-6}" +depth="${TCNG_FIG2_DEPTH:-3}" +max_repeats="${TCNG_FIG2_MAX_REPEATS:-16}" +target_size_log2="${TCNG_FIG2_TARGET_SIZE_LOG2:-20}" +warm_repeats="${TCNG_FIG2_WARM_REPEATS:-3}" + +for value in \ + "$nqubits" \ + "$depth" \ + "$max_repeats" \ + "$target_size_log2" \ + "$warm_repeats"; do + if [[ ! "$value" =~ ^[1-9][0-9]*$ ]]; then + printf 'ERROR|expected a positive integer, got %q\n' "$value" >&2 + exit 2 + fi +done + +verify_args=(--verify-direct) +if (( 10#$nqubits > 10 )); then + verify_args=() +fi + +mkdir -p "$result_root" + +module purge +module load nvidia/cuda/12.2 + +export PYTHONPATH="$overlay_root:$stage_root/issue33/src${PYTHONPATH:+:$PYTHONPATH}" +export LD_LIBRARY_PATH="$env_root/lib/python3.12/site-packages/nvidia/cudnn/lib:${LD_LIBRARY_PATH:-}" +export JAX_PLATFORMS=cuda +export JAX_ENABLE_X64=1 +export JAX_DEFAULT_MATMUL_PRECISION=highest +export XLA_PYTHON_CLIENT_PREALLOCATE=false +export XLA_PYTHON_CLIENT_ALLOCATOR=platform +export TMPDIR="$run_root/tmp" + +python_bin="$env_root/bin/python" + +printf 'START|%s\n' "$(date --iso-8601=seconds)" +printf 'HOST|%s\n' "$(hostname)" +printf 'SLURM_JOB_ID|%s\n' "$SLURM_JOB_ID" +printf 'PROTOCOL|n=%s|depth=%s|max_repeats=%s|target_log2=%s\n' \ + "$nqubits" "$depth" "$max_repeats" "$target_size_log2" +"$python_bin" -u -c 'import jax; print("JAX_DEVICES|" + repr(jax.devices()), flush=True)' +nvidia-smi --query-gpu=name,driver_version,memory.total,pci.bus_id \ + --format=csv,noheader > "$result_root/gpu.csv" + +sample_gpu_memory() { + while true; do + timestamp=$(date +%s.%N) + used=$(nvidia-smi \ + --query-compute-apps=used_memory \ + --format=csv,noheader,nounits 2>/dev/null \ + | awk 'NF {sum += $1} END {print sum + 0}') + printf '%s,%s\n' "$timestamp" "$used" + sleep 0.1 + done +} + +sample_gpu_memory > "$memory_samples" & +sampler_pid=$! +cleanup_sampler() { + kill "$sampler_pid" 2>/dev/null || true + wait "$sampler_pid" 2>/dev/null || true +} +trap cleanup_sampler EXIT + +"$python_bin" -u -m vqetape.tensorcircuit_fig2_cli path \ + --nqubits "$nqubits" \ + --depth "$depth" \ + --max-repeats "$max_repeats" \ + --target-size-log2 "$target_size_log2" \ + --parallel 1 \ + --output "$path_json" + +"$python_bin" -u -m vqetape.tensorcircuit_fig2_cli run \ + --path "$path_json" \ + --warm-repeats "$warm_repeats" \ + "${verify_args[@]}" \ + --output "$result_json" + +cleanup_sampler +trap - EXIT + +"$python_bin" - "$result_json" "$memory_samples" <<'PY' +import json +import os +import sys +import tempfile +from pathlib import Path + +report_path = Path(sys.argv[1]) +sample_path = Path(sys.argv[2]) +peak = 0 +for line in sample_path.read_text(encoding="utf-8").splitlines(): + if line: + _, used = line.split(",", 1) + peak = max(peak, int(used)) +payload = json.loads(report_path.read_text(encoding="utf-8")) +payload["memory"]["nvml_job_peak_mib"] = peak +with tempfile.NamedTemporaryFile( + mode="w", + encoding="utf-8", + dir=report_path.parent, + prefix=f".{report_path.name}.", + suffix=".tmp", + delete=False, +) as handle: + json.dump(payload, handle, indent=2, allow_nan=False) + handle.write("\n") + temporary = Path(handle.name) +os.replace(temporary, report_path) +PY + +sha256sum "$result_root"/* > "$result_root/SHA256SUMS" +printf 'RESULT_ROOT|%s\n' "$result_root" +printf 'END|%s\n' "$(date --iso-8601=seconds)" diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/tensorcircuit-ng-rtx3090.sbatch b/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/tensorcircuit-ng-rtx3090.sbatch new file mode 100755 index 000000000..454b887e1 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/scripts/tensorcircuit-ng-rtx3090.sbatch @@ -0,0 +1,114 @@ +#!/usr/bin/env bash +#SBATCH --job-name=tcng-vqetape +#SBATCH --account=giggleliu +#SBATCH --partition=xhhgnormal01 +#SBATCH --nodes=1 +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=16G +#SBATCH --gres=gpu:1 +#SBATCH --time=00:30:00 +#SBATCH --output=/work/share/giggleliu/vqetape_issue33_20260730/logs/tcng-vqetape-%j.out + +set -euo pipefail + +run_root=/work/share/giggleliu/vqetape_issue33_20260730 +stage_root="$run_root/tcng-baseline-20260730" +env_root="$run_root/env/py312" +overlay_root="$run_root/env/tcng-overlay-py312" +result_root="$run_root/results/tensorcircuit-ng-matched-job${SLURM_JOB_ID}" +reference_json="$stage_root/issue33/outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json" +result_json="$result_root/tensorcircuit-ng-matched-n10-d4.json" +memory_samples="$result_root/gpu-memory-samples.csv" + +mkdir -p "$result_root" + +module purge +module load nvidia/cuda/12.2 + +export PYTHONPATH="$overlay_root:$stage_root/issue33/src${PYTHONPATH:+:$PYTHONPATH}" +export LD_LIBRARY_PATH="$env_root/lib/python3.12/site-packages/nvidia/cudnn/lib:${LD_LIBRARY_PATH:-}" +export JAX_PLATFORMS=cuda +export JAX_ENABLE_X64=1 +export JAX_DEFAULT_MATMUL_PRECISION=highest +export XLA_PYTHON_CLIENT_PREALLOCATE=false +export XLA_PYTHON_CLIENT_ALLOCATOR=platform +export TMPDIR="$run_root/tmp" + +python_bin="$env_root/bin/python" +contractor="${TCNG_CONTRACTOR:-omeco}" + +printf 'START|%s\n' "$(date --iso-8601=seconds)" +printf 'HOST|%s\n' "$(hostname)" +printf 'SLURM_JOB_ID|%s\n' "$SLURM_JOB_ID" +printf 'CONTRACTOR|%s\n' "$contractor" +"$python_bin" -u -c 'import jax; print("JAX_DEVICES|" + repr(jax.devices()), flush=True)' +"$python_bin" -u -c 'import tensorcircuit, omeco, cotengra; print("TCNG_IMPORT|ok", flush=True)' +nvidia-smi -L | sed 's/^/GPU|/' +nvidia-smi --query-gpu=name,driver_version,memory.total,pci.bus_id \ + --format=csv,noheader > "$result_root/gpu.csv" +"$python_bin" -m pip freeze > "$result_root/pip-freeze.txt" + +sample_gpu_memory() { + while true; do + timestamp=$(date +%s.%N) + used=$(nvidia-smi \ + --query-compute-apps=used_memory \ + --format=csv,noheader,nounits 2>/dev/null \ + | awk 'NF {sum += $1} END {print sum + 0}') + printf '%s,%s\n' "$timestamp" "$used" + sleep 0.1 + done +} + +sample_gpu_memory > "$memory_samples" & +sampler_pid=$! +cleanup_sampler() { + kill "$sampler_pid" 2>/dev/null || true + wait "$sampler_pid" 2>/dev/null || true +} +trap cleanup_sampler EXIT + +"$python_bin" -u -m vqetape.tensorcircuit_baseline_cli \ + --nqubits 10 \ + --depth 4 \ + --dtype complex64 \ + --seed 33 \ + --warm-repeats 5 \ + --expected-steps 100 \ + --contractor "$contractor" \ + --reference "$reference_json" \ + --output "$result_json" + +cleanup_sampler +trap - EXIT + +"$python_bin" - "$result_json" "$memory_samples" <<'PY' +import json +import os +import sys +from pathlib import Path + +report_path = Path(sys.argv[1]) +sample_path = Path(sys.argv[2]) +peak = 0 +for line in sample_path.read_text(encoding="utf-8").splitlines(): + if not line: + continue + _, used = line.split(",", 1) + peak = max(peak, int(used)) +payload = json.loads(report_path.read_text(encoding="utf-8")) +payload["memory"]["nvml_job_peak_mib"] = peak +temporary = report_path.with_suffix(report_path.suffix + ".tmp") +temporary.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", +) +os.replace(temporary, report_path) +PY + +awk -F, 'BEGIN {max = 0} $2 + 0 > max {max = $2 + 0} END {print max}' \ + "$memory_samples" > "$result_root/nvml-peak-used-mib.txt" +sha256sum "$result_root"/* > "$result_root/SHA256SUMS" +printf 'RESULT_ROOT|%s\n' "$result_root" +printf 'END|%s\n' "$(date --iso-8601=seconds)" diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/__init__.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/__init__.py new file mode 100644 index 000000000..72d050bbc --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/__init__.py @@ -0,0 +1,36 @@ +"""VQETape public API.""" + +from vqetape.ansatz_training import ( + AnsatzGrowthRequest, + AnsatzGrowthResult, + run_ansatz_growth, +) +from vqetape.compiler import CompileResult, compile_vqe +from vqetape.holdout import LongitudinalIsingSpec +from vqetape.spec import ( + CompileRequest, + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training import train_vqe +from vqetape.training_spec import ( + VQETrainingRequest, + VQETrainingResult, +) + +__all__ = [ + "AnsatzGrowthRequest", + "AnsatzGrowthResult", + "CompileRequest", + "CompileResult", + "LongitudinalIsingSpec", + "ProgramConfig", + "SpatialProgramConfig", + "TFIMVQESpec", + "VQETrainingRequest", + "VQETrainingResult", + "compile_vqe", + "run_ansatz_growth", + "train_vqe", +] diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ad_analysis.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ad_analysis.py new file mode 100644 index 000000000..5d0c5442f --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ad_analysis.py @@ -0,0 +1,428 @@ +"""Static cost analysis for differentiated tensor contractions.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass +from math import prod + +import opt_einsum as oe + +from vqetape.tn_program import ContractionStep +from vqetape.spatial_plan import SpatialTransferProgram + + +@dataclass(frozen=True) +class DifferentiatedContractionCost: + """Forward, reverse, traffic, and residual cost for one program.""" + + forward_flops: int + backward_flops: int + forward_read_elements: int + forward_write_elements: int + backward_read_elements: int + backward_write_elements: int + residual_elements: int + peak_live_residual_elements: int + largest_forward_intermediate_elements: int + largest_backward_intermediate_elements: int + forward_contractions: int + backward_contractions: int + + @property + def total_flops(self) -> int: + return self.forward_flops + self.backward_flops + + @property + def traffic_elements(self) -> int: + return ( + self.forward_read_elements + + self.forward_write_elements + + self.backward_read_elements + + self.backward_write_elements + ) + + def to_dict(self) -> dict[str, int]: + payload = asdict(self) + payload["total_flops"] = self.total_flops + payload["traffic_elements"] = self.traffic_elements + return payload + + +@dataclass(frozen=True) +class ReverseStep: + """One einsum used to transpose a forward contraction input.""" + + forward_step_index: int + input_index: int + equation: str + input_shapes: tuple[tuple[int, ...], ...] + output_shape: tuple[int, ...] + flops: int + largest_intermediate_elements: int + + +@dataclass(frozen=True) +class SpatialDifferentiatedCost: + """Differentiated cost aggregated over a spatial recurrence.""" + + first: DifferentiatedContractionCost + bulk: DifferentiatedContractionCost | None + tail: DifferentiatedContractionCost | None + last: DifferentiatedContractionCost + bulk_block_count: int + dtype_bytes: int + + def _sum_metric(self, name: str) -> int: + return ( + int(getattr(self.first, name)) + + self.bulk_block_count + * ( + int(getattr(self.bulk, name)) + if self.bulk is not None + else 0 + ) + + ( + int(getattr(self.tail, name)) + if self.tail is not None + else 0 + ) + + int(getattr(self.last, name)) + ) + + @property + def peak_role_residual_elements(self) -> int: + return max( + item.peak_live_residual_elements + for item in ( + self.first, + self.bulk, + self.tail, + self.last, + ) + if item is not None + ) + + @property + def total_forward_flops(self) -> int: + return self._sum_metric("forward_flops") + + @property + def total_backward_flops(self) -> int: + return self._sum_metric("backward_flops") + + @property + def total_traffic_elements(self) -> int: + return self._sum_metric("traffic_elements") + + @property + def total_traffic_bytes(self) -> int: + return self.total_traffic_elements * self.dtype_bytes + + @property + def static_score(self) -> int: + return ( + self.total_forward_flops + + self.total_backward_flops + + 4 * self.total_traffic_elements + + 16 * self.peak_role_residual_elements + ) + + def to_dict(self) -> dict[str, object]: + return { + "total_forward_flops": self.total_forward_flops, + "total_backward_flops": self.total_backward_flops, + "total_flops": ( + self.total_forward_flops + + self.total_backward_flops + ), + "total_traffic_elements": self.total_traffic_elements, + "total_traffic_bytes": self.total_traffic_bytes, + "peak_role_residual_elements": ( + self.peak_role_residual_elements + ), + "static_score": self.static_score, + "bulk_block_count": self.bulk_block_count, + "dtype_bytes": self.dtype_bytes, + "roles": { + "first": self.first.to_dict(), + "bulk": ( + self.bulk.to_dict() + if self.bulk is not None + else None + ), + "tail": ( + self.tail.to_dict() + if self.tail is not None + else None + ), + "last": self.last.to_dict(), + }, + } + + +def _parse_equation( + equation: str, +) -> tuple[tuple[str, ...], str]: + try: + left, output = equation.split("->", maxsplit=1) + except ValueError as exc: + raise ValueError( + "einsum equation must contain an explicit output" + ) from exc + return tuple(left.split(",")), output + + +def reverse_einsum_equation( + forward_equation: str, + input_index: int, +) -> str: + """Return the einsum that transposes one forward input.""" + + inputs, output = _parse_equation(forward_equation) + if input_index < 0 or input_index >= len(inputs): + raise ValueError("reverse input index is out of range") + parts = (output,) + tuple( + subscript + for index, subscript in enumerate(inputs) + if index != input_index + ) + return ",".join(parts) + "->" + inputs[input_index] + + +def _symbol_dimensions( + subscripts: tuple[str, ...], + shapes: tuple[tuple[int, ...], ...], +) -> dict[str, int]: + if len(subscripts) != len(shapes): + raise ValueError( + "einsum operand count does not match shapes" + ) + dimensions: dict[str, int] = {} + for subscript, shape in zip( + subscripts, + shapes, + strict=True, + ): + if len(subscript) != len(shape): + raise ValueError( + "einsum subscript rank does not match shape" + ) + for symbol, extent in zip( + subscript, + shape, + strict=True, + ): + previous = dimensions.setdefault(symbol, extent) + if previous != extent: + raise ValueError( + f"inconsistent extent for einsum symbol {symbol}" + ) + return dimensions + + +def _output_shape( + equation: str, + shapes: tuple[tuple[int, ...], ...], +) -> tuple[int, ...]: + inputs, output = _parse_equation(equation) + dimensions = _symbol_dimensions(inputs, shapes) + try: + return tuple(dimensions[symbol] for symbol in output) + except KeyError as exc: + raise ValueError( + "einsum output contains an unknown symbol" + ) from exc + + +def _einsum_cost( + equation: str, + shapes: tuple[tuple[int, ...], ...], +) -> tuple[int, int]: + try: + _, info = oe.contract_path( + equation, + *shapes, + shapes=True, + optimize="greedy", + ) + except (IndexError, TypeError, ValueError) as exc: + raise ValueError( + f"cannot analyze einsum equation {equation!r}" + ) from exc + return int(info.opt_cost), int(info.largest_intermediate) + + +def analyze_contraction_steps( + input_shapes: tuple[tuple[int, ...], ...], + steps: tuple[ContractionStep, ...], +) -> tuple[ + DifferentiatedContractionCost, + tuple[tuple[ReverseStep, ...], ...], +]: + """Analyze serialized forward steps and their generated VJPs.""" + + if not input_shapes: + raise ValueError("contraction requires at least one input") + if not steps: + raise ValueError("contraction requires at least one step") + + active_shapes = list(input_shapes) + forward_flops = 0 + backward_flops = 0 + forward_read = 0 + forward_write = 0 + backward_read = 0 + backward_write = 0 + largest_forward = 0 + largest_backward = 0 + reverse_groups: list[tuple[ReverseStep, ...]] = [] + output_elements: list[int] = [] + + for step_index, step in enumerate(steps): + try: + selected_shapes = tuple( + active_shapes.pop(position) + for position in step.positions + ) + except IndexError as exc: + raise ValueError( + "contraction step position is out of range" + ) from exc + input_subscripts, _ = _parse_equation(step.einsum) + if len(input_subscripts) != len(selected_shapes): + raise ValueError( + "contraction step equation does not match operands" + ) + result_shape = _output_shape( + step.einsum, + selected_shapes, + ) + result_elements = prod(result_shape) + if result_elements != step.output_elements: + raise ValueError( + "contraction step output size is inconsistent" + ) + step_flops, step_largest = _einsum_cost( + step.einsum, + selected_shapes, + ) + forward_flops += step_flops + forward_read += sum( + prod(shape) for shape in selected_shapes + ) + forward_write += result_elements + largest_forward = max( + largest_forward, + step_largest, + result_elements, + ) + + reverse_steps: list[ReverseStep] = [] + for input_index, input_shape in enumerate( + selected_shapes + ): + equation = reverse_einsum_equation( + step.einsum, + input_index, + ) + reverse_shapes = ( + result_shape, + *( + shape + for index, shape in enumerate( + selected_shapes + ) + if index != input_index + ), + ) + reverse_flops, reverse_largest = _einsum_cost( + equation, + reverse_shapes, + ) + expected_shape = _output_shape( + equation, + reverse_shapes, + ) + if expected_shape != input_shape: + raise ValueError( + "reverse contraction output shape is inconsistent" + ) + backward_flops += reverse_flops + backward_read += sum( + prod(shape) for shape in reverse_shapes + ) + backward_write += prod(input_shape) + largest_backward = max( + largest_backward, + reverse_largest, + prod(input_shape), + ) + reverse_steps.append( + ReverseStep( + forward_step_index=step_index, + input_index=input_index, + equation=equation, + input_shapes=reverse_shapes, + output_shape=input_shape, + flops=reverse_flops, + largest_intermediate_elements=( + reverse_largest + ), + ) + ) + reverse_groups.append(tuple(reverse_steps)) + output_elements.append(result_elements) + active_shapes.append(result_shape) + + if len(active_shapes) != 1: + raise ValueError( + "contraction steps did not produce one output" + ) + + residual_elements = ( + sum(prod(shape) for shape in input_shapes) + + sum(output_elements[:-1]) + ) + cost = DifferentiatedContractionCost( + forward_flops=forward_flops, + backward_flops=backward_flops, + forward_read_elements=forward_read, + forward_write_elements=forward_write, + backward_read_elements=backward_read, + backward_write_elements=backward_write, + residual_elements=residual_elements, + peak_live_residual_elements=residual_elements, + largest_forward_intermediate_elements=largest_forward, + largest_backward_intermediate_elements=largest_backward, + forward_contractions=len(steps), + backward_contractions=sum( + len(group) for group in reverse_groups + ), + ) + return cost, tuple(reverse_groups) + + +def analyze_spatial_transfer( + transfer: SpatialTransferProgram, +) -> SpatialDifferentiatedCost: + """Aggregate differentiated costs for all spatial program roles.""" + + def analyze(program): + if program is None: + return None + cost, _ = analyze_contraction_steps( + program.input_shapes, + program.steps, + ) + return cost + + return SpatialDifferentiatedCost( + first=analyze(transfer.first), + bulk=analyze(transfer.bulk), + tail=analyze(transfer.tail), + last=analyze(transfer.last), + bulk_block_count=transfer.bulk_block_count, + dtype_bytes=( + 8 if transfer.spec.dtype == "complex64" else 16 + ), + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz.py new file mode 100644 index 000000000..51aeb23c1 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz.py @@ -0,0 +1,286 @@ +"""Exact ordered gate structures for adaptive VQE ansatz growth.""" + +from __future__ import annotations + +from dataclasses import dataclass +from hashlib import sha1 +from typing import Any, Literal + +from jax import Array +import jax.numpy as jnp + +from vqetape.kernels import ( + initial_state, + tfim_energy, +) +from vqetape.spec import TFIMVQESpec + +AnsatzOperatorName = Literal["rx", "rzz", "yz", "zy"] + + +@dataclass(frozen=True, order=True) +class AnsatzOperator: + """One local Pauli rotation in an ordered ansatz.""" + + kind: AnsatzOperatorName + wire: int + + def __post_init__(self) -> None: + if self.kind not in ("rx", "rzz", "yz", "zy"): + raise ValueError( + f"unsupported ansatz operator: {self.kind}" + ) + if self.wire < 0: + raise ValueError("operator wire must be nonnegative") + + @property + def label(self) -> str: + if self.kind == "rx": + return f"rx-{self.wire}" + return ( + f"{self.kind}-{self.wire}-{self.wire + 1}" + ) + + def to_dict(self) -> dict[str, Any]: + return {"kind": self.kind, "wire": self.wire} + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzOperator: + return cls(**payload) + + +@dataclass(frozen=True) +class AnsatzStructure: + """A complete ordered sequence of exact local rotations.""" + + nqubits: int + operators: tuple[AnsatzOperator, ...] + + def __post_init__(self) -> None: + if self.nqubits < 2: + raise ValueError("nqubits must be at least 2") + for operator in self.operators: + limit = ( + self.nqubits + if operator.kind == "rx" + else self.nqubits - 1 + ) + if operator.wire >= limit: + raise ValueError( + f"{operator.label} is outside " + f"{self.nqubits}-qubit chain" + ) + + @property + def parameter_count(self) -> int: + return len(self.operators) + + @property + def label(self) -> str: + digest = sha1( + "\0".join( + operator.label + for operator in self.operators + ).encode("utf-8") + ).hexdigest()[:10] + return ( + f"ordered-n{self.nqubits}-" + f"p{self.parameter_count}-{digest}" + ) + + def append( + self, + operator: AnsatzOperator, + ) -> AnsatzStructure: + return AnsatzStructure( + self.nqubits, + self.operators + (operator,), + ) + + def to_dict(self) -> dict[str, Any]: + return { + "nqubits": self.nqubits, + "operators": [ + operator.to_dict() + for operator in self.operators + ], + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzStructure: + return cls( + nqubits=int(payload["nqubits"]), + operators=tuple( + AnsatzOperator.from_dict(item) + for item in payload["operators"] + ), + ) + + +def fixed_rzz_rx_structure( + nqubits: int, + depth: int, +) -> AnsatzStructure: + """Return the existing layered RZZ-then-RX ansatz as a sequence.""" + + if depth < 1: + raise ValueError("depth must be positive") + operators: list[AnsatzOperator] = [] + for _ in range(depth): + operators.extend( + AnsatzOperator("rzz", wire) + for wire in range(nqubits - 1) + ) + operators.extend( + AnsatzOperator("rx", wire) + for wire in range(nqubits) + ) + return AnsatzStructure(nqubits, tuple(operators)) + + +def local_operator_pool( + nqubits: int, +) -> tuple[AnsatzOperator, ...]: + """Return the full local global-X-compatible operator pool.""" + + if nqubits < 2: + raise ValueError("nqubits must be at least 2") + return tuple( + [ + AnsatzOperator(kind, wire) + for kind in ("rzz", "yz", "zy") + for wire in range(nqubits - 1) + ] + + [ + AnsatzOperator("rx", wire) + for wire in range(nqubits) + ] + ) + + +def _apply_local_pauli( + state: Array, + pauli: Literal["X", "Y", "Z"], + wire: int, + nqubits: int, +) -> Array: + tensor = state.reshape((2,) * nqubits) + if pauli == "X": + return jnp.flip(tensor, axis=wire).reshape(-1) + if pauli == "Z": + signs = jnp.asarray( + [1, -1], + dtype=state.dtype, + ) + shape = [1] * nqubits + shape[wire] = 2 + return (tensor * signs.reshape(shape)).reshape(-1) + matrix = jnp.asarray( + [[0, -1j], [1j, 0]], + dtype=state.dtype, + ) + moved = jnp.moveaxis(tensor, wire, 0) + updated = matrix @ moved.reshape(2, -1) + return jnp.moveaxis( + updated.reshape((2,) + moved.shape[1:]), + 0, + wire, + ).reshape(-1) + + +def apply_ansatz_generator( + state: Array, + operator: AnsatzOperator, + spec: TFIMVQESpec, +) -> Array: + """Apply the Pauli generator of one supported rotation.""" + + if operator.kind == "rx": + return _apply_local_pauli( + state, + "X", + operator.wire, + spec.nqubits, + ) + paulis = { + "rzz": ("Z", "Z"), + "yz": ("Y", "Z"), + "zy": ("Z", "Y"), + }[operator.kind] + generated = _apply_local_pauli( + state, + paulis[0], + operator.wire, + spec.nqubits, + ) + return _apply_local_pauli( + generated, + paulis[1], + operator.wire + 1, + spec.nqubits, + ) + + +def layered_parameters_to_vector( + theta: Array, + spec: TFIMVQESpec, +) -> Array: + """Drop RZZ padding and preserve gate execution order.""" + + if theta.shape != spec.parameter_shape: + raise ValueError("layered parameter shape mismatch") + pieces = [] + for layer in range(spec.depth): + pieces.append(theta[layer, 0, :-1]) + pieces.append(theta[layer, 1, :]) + return jnp.concatenate(pieces) + + +def ordered_ansatz_state( + parameters: Array, + structure: AnsatzStructure, + spec: TFIMVQESpec, +) -> Array: + """Prepare an exact state from an ordered local gate sequence.""" + + if structure.nqubits != spec.nqubits: + raise ValueError( + "structure and workload qubit counts differ" + ) + if parameters.shape != (structure.parameter_count,): + raise ValueError("ordered parameter shape mismatch") + state = initial_state(spec) + for angle, operator in zip( + parameters, + structure.operators, + strict=True, + ): + generator_state = apply_ansatz_generator( + state, + operator, + spec, + ) + state = ( + jnp.cos(angle / 2) * state + - 1j * jnp.sin(angle / 2) * generator_state + ) + return state + + +def ordered_ansatz_energy( + parameters: Array, + structure: AnsatzStructure, + spec: TFIMVQESpec, +) -> Array: + """Evaluate exact TFIM energy for an ordered ansatz.""" + + return tfim_energy( + ordered_ansatz_state(parameters, structure, spec), + spec, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_cost.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_cost.py new file mode 100644 index 000000000..cec5ef8c4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_cost.py @@ -0,0 +1,192 @@ +"""Spatial-contraction cost model for adaptive ansatz growth.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass +from hashlib import sha256 +import json +from math import isfinite, log +from typing import Any + +import jax + +from vqetape.ansatz import ( + AnsatzOperator, + AnsatzStructure, +) +from vqetape.ansatz_signals import AnsatzSignal +from vqetape.spec import TFIMVQESpec + + +@dataclass(frozen=True) +class AnsatzCostWeights: + """Nonnegative weights for contraction-aware gate selection.""" + + boundary: float = 1.0 + compile: float = 0.25 + warm: float = 0.25 + memory: float = 0.25 + + def __post_init__(self) -> None: + for name, value in asdict(self).items(): + if value < 0 or not isfinite(value): + raise ValueError( + f"{name} weight must be finite and " + "nonnegative" + ) + + +@dataclass(frozen=True) +class AnsatzCostDelta: + """Predicted structural cost change for one appended gate.""" + + boundary_before: int + boundary_after: int + delta_log_boundary: float + delta_compile_proxy: float + delta_warm_proxy: float + delta_memory_relative: float + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzCostDelta: + return cls(**payload) + + +def cut_entangler_counts( + structure: AnsatzStructure, +) -> tuple[int, ...]: + """Count RZZ Schmidt bonds crossing each chain cut.""" + + counts = [0] * (structure.nqubits - 1) + for operator in structure.operators: + if operator.kind != "rx": + counts[operator.wire] += 1 + return tuple(counts) + + +def spatial_boundary_dimension( + structure: AnsatzStructure, + *, + mpo_bond_dimension: int = 3, +) -> int: + """Return exact uncompressed bra-MPO-ket cut dimension.""" + + if mpo_bond_dimension < 1: + raise ValueError( + "mpo_bond_dimension must be positive" + ) + counts = cut_entangler_counts(structure) + return mpo_bond_dimension * 4 ** max(counts, default=0) + + +def _compiler_weight( + operator: AnsatzOperator, +) -> float: + return 2.0 if operator.kind != "rx" else 1.0 + + +def _warm_weight(operator: AnsatzOperator) -> float: + return 1.5 if operator.kind != "rx" else 1.0 + + +def candidate_cost_delta( + structure: AnsatzStructure, + operator: AnsatzOperator, +) -> AnsatzCostDelta: + """Predict normalized cost increments for one gate.""" + + extended = structure.append(operator) + before = spatial_boundary_dimension(structure) + after = spatial_boundary_dimension(extended) + current_compile = sum( + _compiler_weight(item) + for item in structure.operators + ) + current_warm = sum( + _warm_weight(item) + for item in structure.operators + ) + return AnsatzCostDelta( + boundary_before=before, + boundary_after=after, + delta_log_boundary=log(after / before), + delta_compile_proxy=( + _compiler_weight(operator) + / max(1.0, current_compile) + ), + delta_warm_proxy=( + _warm_weight(operator) + / max(1.0, current_warm) + ), + delta_memory_relative=(after - before) / before, + ) + + +def contraction_aware_score( + signal: AnsatzSignal, + cost: AnsatzCostDelta, + weights: AnsatzCostWeights, +) -> float: + """Apply the approved signal-over-contraction-cost score.""" + + denominator = ( + 1.0 + + weights.boundary * cost.delta_log_boundary + + weights.compile * cost.delta_compile_proxy + + weights.warm * cost.delta_warm_proxy + + weights.memory * cost.delta_memory_relative + ) + if denominator <= 0 or not isfinite(denominator): + raise ValueError( + "contraction score denominator is invalid" + ) + return signal.normalized_signal / denominator + + +def device_signature() -> tuple[str, ...]: + """Return a stable description of the active JAX devices.""" + + return tuple( + ( + f"{device.platform}:{device.id}:" + f"{device.device_kind}" + ) + for device in jax.devices() + ) + + +def ansatz_cache_key( + structure: AnsatzStructure, + spec: TFIMVQESpec, + *, + jax_version: str | None = None, + devices: tuple[str, ...] | None = None, +) -> str: + """Hash all structure-dependent executable compatibility fields.""" + + payload = { + "structure": structure.to_dict(), + "spec": spec.to_dict(), + "jax_version": ( + jax.__version__ + if jax_version is None + else jax_version + ), + "devices": ( + device_signature() + if devices is None + else devices + ), + } + encoded = json.dumps( + payload, + sort_keys=True, + separators=(",", ":"), + ).encode("utf-8") + return sha256(encoded).hexdigest() diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_report.py new file mode 100644 index 000000000..9a5700e33 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_report.py @@ -0,0 +1,414 @@ +"""Fresh-process report for contraction-aware VQE ansatz growth.""" + +from __future__ import annotations + +import argparse +from datetime import UTC, datetime +import json +import os +from pathlib import Path +import platform +import subprocess +import sys +import tempfile +from typing import Any + +import jax + +from vqetape.ansatz_cost import AnsatzCostWeights +from vqetape.ansatz_training import ( + AnsatzGrowthRequest, + AnsatzGrowthResult, +) +from vqetape.subprocess_env import worker_environment +from vqetape.spec import TFIMVQESpec + + +class AnsatzWorkerError(RuntimeError): + """Raised when a fresh ansatz worker fails.""" + + +def audited_ansatz_requests( +) -> tuple[AnsatzGrowthRequest, ...]: + """Return fixed, gradient, and contraction-aware requests.""" + + common = { + "spec": TFIMVQESpec( + nqubits=4, + depth=1, + dtype="complex128", + ), + "target_energy_error": 1e-10, + "max_growth_rounds": 7, + "optimizer_steps_per_round": 100, + "seed": 3, + "initial_scale": 0.15, + "metric_epsilon": 1e-12, + "cost_weights": AnsatzCostWeights( + boundary=3.0, + compile=0.5, + warm=0.5, + memory=1.0, + ), + "seed_depth": 1, + "fixed_depth": 2, + } + return tuple( + AnsatzGrowthRequest( + policy=policy, + **common, + ) + for policy in ( + "fixed", + "gradient-only", + "contraction-aware", + ) + ) + + +def run_ansatz_fresh_process( + request: AnsatzGrowthRequest, + *, + timeout_seconds: float = 300, +) -> AnsatzGrowthResult: + """Run one policy with fresh JAX cache and allocator state.""" + + if timeout_seconds <= 0: + raise ValueError("timeout_seconds must be positive") + with tempfile.TemporaryDirectory( + prefix="vqetape-ansatz-" + ) as directory: + root = Path(directory) + request_path = root / "request.json" + result_path = root / "result.json" + request_path.write_text( + json.dumps( + request.to_dict(), + indent=2, + allow_nan=False, + ), + encoding="utf-8", + ) + environment = worker_environment() + environment["JAX_ENABLE_X64"] = "1" + environment["JAX_COMPILATION_CACHE_DIR"] = str( + root / "jax-cache" + ) + try: + completed = subprocess.run( + [ + sys.executable, + "-m", + "vqetape.ansatz_worker", + "--request", + str(request_path), + "--output", + str(result_path), + ], + check=False, + capture_output=True, + text=True, + timeout=timeout_seconds, + env=environment, + ) + except subprocess.TimeoutExpired as exc: + raise AnsatzWorkerError( + "ansatz worker exceeded " + f"{timeout_seconds:g} seconds" + ) from exc + if completed.returncode != 0: + raise AnsatzWorkerError( + "ansatz worker failed: " + f"{completed.stderr.strip()}" + ) + if not result_path.exists(): + raise AnsatzWorkerError( + "ansatz worker produced no result" + ) + payload = json.loads( + result_path.read_text(encoding="utf-8") + ) + worker_pid = payload.pop("worker_pid", None) + parent_pid = payload.pop("parent_pid", None) + if worker_pid is None or worker_pid == os.getpid(): + raise AnsatzWorkerError( + "ansatz worker was not isolated" + ) + if parent_pid != os.getpid(): + raise AnsatzWorkerError( + "ansatz worker parent mismatch" + ) + return AnsatzGrowthResult.from_dict(payload) + + +def _environment() -> dict[str, Any]: + return { + "python": platform.python_version(), + "platform": platform.platform(), + "jax": jax.__version__, + "parent_backend": jax.default_backend(), + "worker_x64_enabled": True, + "devices": [ + { + "id": device.id, + "platform": device.platform, + "device_kind": device.device_kind, + } + for device in jax.devices() + ], + } + + +def _selection_sequence( + result: AnsatzGrowthResult, +) -> list[str]: + return [ + round_result.selected_operator.label + for round_result in result.rounds + if round_result.selected_operator is not None + ] + + +def _derived( + results: tuple[AnsatzGrowthResult, ...], +) -> dict[str, Any]: + by_policy = { + result.request.policy: result + for result in results + } + converged = [ + result + for result in results + if result.converged + ] + ranked = sorted( + converged, + key=lambda result: result.time_to_target_seconds, + ) + gradient = by_policy["gradient-only"] + aware = by_policy["contraction-aware"] + return { + "ranking_policy": ( + "converged only; synchronized time to target " + "including all recompilation and screening" + ), + "best_policy": ( + ranked[0].request.policy if ranked else None + ), + "gradient_sequence": _selection_sequence( + gradient + ), + "contraction_sequence": _selection_sequence( + aware + ), + "adaptive_sequences_equal": ( + _selection_sequence(gradient) + == _selection_sequence(aware) + ), + "fixed_final_parameter_count": ( + by_policy["fixed"].final_structure.parameter_count + ), + "gradient_final_parameter_count": ( + gradient.final_structure.parameter_count + ), + "contraction_final_parameter_count": ( + aware.final_structure.parameter_count + ), + "fixed_final_error": ( + by_policy["fixed"].final_energy + - by_policy["fixed"].ground_energy + ), + "gradient_final_error": ( + gradient.final_energy - gradient.ground_energy + ), + "contraction_final_error": ( + aware.final_energy - aware.ground_energy + ), + "gradient_max_boundary": max( + item.boundary_dimension + for item in gradient.rounds + ), + "contraction_max_boundary": max( + item.boundary_dimension + for item in aware.rounds + ), + } + + +def _write_findings( + payload: dict[str, Any], + destination: Path, +) -> None: + results = payload["results"] + derived = payload["derived"] + lines = [ + "# VQETape contraction-aware ansatz findings", + "", + "Each policy ran in a fresh process with complex128 " + "arithmetic. Time to target includes every structure " + "compilation, full-pool screening, synchronized " + "value-gradient call, and optimizer overhead.", + "", + "## Controlled comparison", + "", + "- Four-qubit open TFIM; target energy error: " + "`1e-10`.", + "- Fixed control: depth-two RZZ–RX, 14 active " + "parameters.", + "- Adaptive seed: depth-one RZZ–RX, then at most seven " + "additions.", + "- Pool: X, ZZ, YZ, and ZY rotations. YZ/ZY are the " + "first local Lie-commutator closure and remain " + "global-X symmetric with Schmidt rank two.", + "", + "| policy | converged | final parameters | compiled " + "structures | calls | compile (s) | screening (s) | " + "target (s) | final error | max boundary |", + "|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|", + ] + for result in results: + target = result["time_to_target_seconds"] + final_error = ( + result["final_energy"] + - result["ground_energy"] + ) + maximum_boundary = max( + item["boundary_dimension"] + for item in result["rounds"] + ) + lines.append( + "| {policy} | {converged} | {parameters} | " + "{structures} | {calls} | {compile:.3f} | " + "{screening:.3f} | {target} | {error:.3e} | " + "{boundary} |".format( + policy=result["request"]["policy"], + converged=( + "yes" if result["converged"] else "no" + ), + parameters=len( + result["final_parameters"] + ), + structures=result["compiled_structures"], + calls=result["evaluations"], + compile=result["compile_seconds"], + screening=result["screening_seconds"], + target=( + f"{target:.3f}" + if target is not None + else "—" + ), + error=final_error, + boundary=maximum_boundary, + ) + ) + lines.extend( + [ + "", + "## Result", + "", + "- The original X/ZZ-only pool was rejected during " + "development because a fully optimized depth-one " + "seed had vanishing insertion gradients. The " + "commutator-complete YZ/ZY extension removes that " + "false convergence.", + "- Both adaptive policies reached the target using " + f"{derived['gradient_final_parameter_count']} " + "parameters; the 14-parameter fixed control did not " + "reach the same target under its budget.", + "- Gradient-only selected: `" + + " → ".join(derived["gradient_sequence"]) + + "`.", + "- Contraction-aware selected: `" + + " → ".join( + derived["contraction_sequence"] + ) + + "`.", + "- The two adaptive sequences are " + + ( + "identical on this symmetric workload. The " + "contraction penalty therefore causes no loss, " + "but it does not earn a distinct performance " + "claim here." + if derived["adaptive_sequences_equal"] + else "different; compare the raw trace before " + "attributing the change to contraction cost." + ), + "- The strongest supported ansatz result is the " + "Lie-closed pool and adaptive parameter efficiency. " + "Contraction-aware ranking remains a tested selector, " + "not a universal winner.", + "", + ] + ) + destination.write_text( + "\n".join(lines), + encoding="utf-8", + ) + + +def generate_ansatz_report( + output: Path, + findings: Path, + *, + timeout_seconds: float = 300, +) -> dict[str, Any]: + """Run all policies and write raw plus human-readable results.""" + + results = tuple( + run_ansatz_fresh_process( + request, + timeout_seconds=timeout_seconds, + ) + for request in audited_ansatz_requests() + ) + payload = { + "schema_version": 1, + "generated_at": datetime.now(UTC).isoformat(), + "environment": _environment(), + "method": { + "fresh_process_per_policy": True, + "unique_jax_cache_per_policy": True, + "synchronization": "jax.block_until_ready", + "compile_and_screening_in_target_time": True, + "equal_maximum_parameter_budget": True, + "equal_adaptive_pool_budget": True, + }, + "results": [ + result.to_dict() for result in results + ], + "derived": _derived(results), + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", + ) + findings.parent.mkdir(parents=True, exist_ok=True) + _write_findings(payload, findings) + return payload + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--output", required=True, type=Path) + parser.add_argument("--findings", required=True, type=Path) + parser.add_argument( + "--timeout-seconds", + type=float, + default=300, + ) + args = parser.parse_args(argv) + payload = generate_ansatz_report( + args.output, + args.findings, + timeout_seconds=args.timeout_seconds, + ) + print( + f"policies={len(payload['results'])} " + f"best={payload['derived']['best_policy']}" + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_selection.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_selection.py new file mode 100644 index 000000000..2131dc0fb --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_selection.py @@ -0,0 +1,218 @@ +"""Deterministic gradient and contraction-aware ansatz selection.""" + +from __future__ import annotations + +from dataclasses import dataclass +from math import isfinite +from typing import Any, Literal + +from vqetape.ansatz import ( + AnsatzOperator, + AnsatzStructure, +) +from vqetape.ansatz_cost import ( + AnsatzCostDelta, + AnsatzCostWeights, + candidate_cost_delta, + contraction_aware_score, +) +from vqetape.ansatz_signals import AnsatzSignal + +AnsatzSelectionPolicy = Literal[ + "gradient-only", + "contraction-aware", +] + + +@dataclass(frozen=True) +class AnsatzCandidateScore: + """Complete audited score for one operator-pool candidate.""" + + operator: AnsatzOperator + signal: AnsatzSignal + cost: AnsatzCostDelta + gradient_score: float + contraction_score: float + selection_score: float + eligible: bool + exclusion_reason: str | None + rank: int + selected: bool + + def to_dict(self) -> dict[str, Any]: + return { + "operator": self.operator.to_dict(), + "signal": self.signal.to_dict(), + "cost": self.cost.to_dict(), + "gradient_score": self.gradient_score, + "contraction_score": self.contraction_score, + "selection_score": self.selection_score, + "eligible": self.eligible, + "exclusion_reason": self.exclusion_reason, + "rank": self.rank, + "selected": self.selected, + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzCandidateScore: + values = dict(payload) + values["operator"] = AnsatzOperator.from_dict( + values["operator"] + ) + values["signal"] = AnsatzSignal.from_dict( + values["signal"] + ) + values["cost"] = AnsatzCostDelta.from_dict( + values["cost"] + ) + return cls(**values) + + +def operators_commute( + left: AnsatzOperator, + right: AnsatzOperator, +) -> bool: + """Return whether the two supported Pauli generators commute.""" + + def paulis( + operator: AnsatzOperator, + ) -> dict[int, str]: + if operator.kind == "rx": + return {operator.wire: "X"} + left_pauli, right_pauli = { + "rzz": ("Z", "Z"), + "yz": ("Y", "Z"), + "zy": ("Z", "Y"), + }[operator.kind] + return { + operator.wire: left_pauli, + operator.wire + 1: right_pauli, + } + + left_paulis = paulis(left) + right_paulis = paulis(right) + anticommuting_sites = sum( + left_paulis[wire] != right_paulis[wire] + for wire in left_paulis.keys() + & right_paulis.keys() + ) + return anticommuting_sites % 2 == 0 + + +def redundant_append( + structure: AnsatzStructure, + candidate: AnsatzOperator, +) -> bool: + """Detect an append that exactly fuses into an existing gate.""" + + for existing in reversed(structure.operators): + if existing == candidate: + return True + if not operators_commute(existing, candidate): + return False + return False + + +def rank_ansatz_candidates( + structure: AnsatzStructure, + signals: tuple[AnsatzSignal, ...], + policy: AnsatzSelectionPolicy, + *, + weights: AnsatzCostWeights | None = None, +) -> tuple[AnsatzCandidateScore, ...]: + """Score the full pool and return deterministic rank order.""" + + if policy not in ( + "gradient-only", + "contraction-aware", + ): + raise ValueError( + f"unsupported ansatz selection policy: {policy}" + ) + if not signals: + raise ValueError("candidate signal pool is empty") + if len({item.operator for item in signals}) != len( + signals + ): + raise ValueError( + "candidate signal pool contains duplicates" + ) + selected_weights = weights or AnsatzCostWeights() + unranked = [] + for signal in signals: + if ( + signal.normalized_signal < 0 + or not isfinite(signal.normalized_signal) + ): + raise ValueError( + f"invalid signal for {signal.operator.label}" + ) + cost = candidate_cost_delta( + structure, + signal.operator, + ) + contraction_score = contraction_aware_score( + signal, + cost, + selected_weights, + ) + selection_score = ( + signal.normalized_signal + if policy == "gradient-only" + else contraction_score + ) + eligible = not redundant_append( + structure, + signal.operator, + ) + unranked.append( + ( + signal.operator.label, + signal, + cost, + contraction_score, + selection_score, + eligible, + ) + ) + if not any(item[5] for item in unranked): + raise ValueError( + "all ansatz candidates are algebraically redundant" + ) + ordered = sorted( + unranked, + key=lambda item: ( + not item[5], + -item[4], + item[0], + ), + ) + return tuple( + AnsatzCandidateScore( + operator=signal.operator, + signal=signal, + cost=cost, + gradient_score=signal.normalized_signal, + contraction_score=contraction_score, + selection_score=selection_score, + eligible=eligible, + exclusion_reason=( + None + if eligible + else "fuses with a commuting prior gate" + ), + rank=rank, + selected=rank == 1 and eligible, + ) + for rank, ( + _, + signal, + cost, + contraction_score, + selection_score, + eligible, + ) in enumerate(ordered, start=1) + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_signals.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_signals.py new file mode 100644 index 000000000..89344db4d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_signals.py @@ -0,0 +1,108 @@ +"""Exact zero-insertion signals for adaptive VQE operators.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass +from math import isfinite +from typing import Any + +from jax import Array +import jax.numpy as jnp + +from vqetape.ansatz import ( + AnsatzOperator, + apply_ansatz_generator, +) +from vqetape.kernels import tfim_hamiltonian_action +from vqetape.spec import TFIMVQESpec + + +@dataclass(frozen=True) +class AnsatzSignal: + """Energy derivative and diagonal quantum metric of one insertion.""" + + operator: AnsatzOperator + gradient: float + metric: float + normalized_signal: float + + def to_dict(self) -> dict[str, Any]: + payload = asdict(self) + payload["operator"] = self.operator.to_dict() + return payload + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzSignal: + values = dict(payload) + values["operator"] = AnsatzOperator.from_dict( + values["operator"] + ) + return cls(**values) + + +def candidate_signal( + state: Array, + operator: AnsatzOperator, + spec: TFIMVQESpec, + *, + metric_epsilon: float = 1e-12, +) -> AnsatzSignal: + """Evaluate exact gradient and Fubini-Study diagonal at alpha=0.""" + + if state.shape != (1 << spec.nqubits,): + raise ValueError("state shape does not match workload") + if metric_epsilon <= 0 or not isfinite(metric_epsilon): + raise ValueError( + "metric_epsilon must be finite and positive" + ) + generator_state = apply_ansatz_generator( + state, + operator, + spec, + ) + hamiltonian_state = tfim_hamiltonian_action( + state, + spec, + ) + overlap = jnp.vdot(generator_state, state) + gradient = -jnp.imag( + jnp.vdot(generator_state, hamiltonian_state) + ) + metric = jnp.maximum( + 0.0, + 0.25 * (1.0 - jnp.real(overlap) ** 2), + ) + gradient_value = float(gradient) + metric_value = float(metric) + return AnsatzSignal( + operator=operator, + gradient=gradient_value, + metric=metric_value, + normalized_signal=( + gradient_value**2 + / (metric_value + metric_epsilon) + ), + ) + + +def pool_signals( + state: Array, + operators: tuple[AnsatzOperator, ...], + spec: TFIMVQESpec, + *, + metric_epsilon: float = 1e-12, +) -> tuple[AnsatzSignal, ...]: + """Evaluate the complete operator pool without pruning.""" + + return tuple( + candidate_signal( + state, + operator, + spec, + metric_epsilon=metric_epsilon, + ) + for operator in operators + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_training.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_training.py new file mode 100644 index 000000000..d50a27cb1 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_training.py @@ -0,0 +1,689 @@ +"""End-to-solution training for fixed and dynamically grown ansatzes.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass, field +from math import isfinite +import resource +import sys +import time +from typing import Any, Literal + +import jax +import jax.numpy as jnp +import numpy as np + +from vqetape.ansatz import ( + AnsatzOperator, + AnsatzStructure, + fixed_rzz_rx_structure, + local_operator_pool, + ordered_ansatz_energy, + ordered_ansatz_state, +) +from vqetape.ansatz_cost import ( + AnsatzCostWeights, + ansatz_cache_key, + spatial_boundary_dimension, +) +from vqetape.ansatz_selection import ( + AnsatzCandidateScore, + rank_ansatz_candidates, +) +from vqetape.ansatz_signals import pool_signals +from vqetape.ground_state import tfim_ground_energy +from vqetape.optimizers import ( + OptimizerUnavailable, + run_lbfgs, +) +from vqetape.spec import TFIMVQESpec + +AnsatzGrowthPolicy = Literal[ + "fixed", + "gradient-only", + "contraction-aware", +] + + +def _peak_rss_bytes() -> int: + peak = int( + resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + ) + return peak if sys.platform == "darwin" else peak * 1024 + + +@dataclass(frozen=True) +class AnsatzGrowthRequest: + """One fixed or adaptive ansatz time-to-target experiment.""" + + spec: TFIMVQESpec + policy: AnsatzGrowthPolicy + target_energy_error: float + max_growth_rounds: int + optimizer_steps_per_round: int + seed: int = 3 + initial_scale: float = 0.15 + metric_epsilon: float = 1e-10 + cost_weights: AnsatzCostWeights = field( + default_factory=AnsatzCostWeights + ) + seed_depth: int = 1 + fixed_depth: int = 2 + + def __post_init__(self) -> None: + if self.policy not in ( + "fixed", + "gradient-only", + "contraction-aware", + ): + raise ValueError( + f"unsupported ansatz policy: {self.policy}" + ) + if ( + self.target_energy_error <= 0 + or not isfinite(self.target_energy_error) + ): + raise ValueError( + "target_energy_error must be finite and " + "positive" + ) + if self.max_growth_rounds < 0: + raise ValueError( + "max_growth_rounds must be nonnegative" + ) + if self.optimizer_steps_per_round < 1: + raise ValueError( + "optimizer_steps_per_round must be positive" + ) + if ( + self.initial_scale <= 0 + or not isfinite(self.initial_scale) + ): + raise ValueError( + "initial_scale must be finite and positive" + ) + if ( + self.metric_epsilon <= 0 + or not isfinite(self.metric_epsilon) + ): + raise ValueError( + "metric_epsilon must be finite and positive" + ) + if self.seed_depth < 1: + raise ValueError("seed_depth must be positive") + if self.fixed_depth < self.seed_depth: + raise ValueError( + "fixed_depth cannot be shallower than seed" + ) + fixed_parameters = ( + self.fixed_depth + * (2 * self.spec.nqubits - 1) + ) + adaptive_parameters = ( + self.seed_depth + * (2 * self.spec.nqubits - 1) + + self.max_growth_rounds + ) + if fixed_parameters != adaptive_parameters: + raise ValueError( + "fixed and adaptive maximum parameter " + "budgets must match" + ) + + def to_dict(self) -> dict[str, Any]: + return { + "spec": self.spec.to_dict(), + "policy": self.policy, + "target_energy_error": ( + self.target_energy_error + ), + "max_growth_rounds": self.max_growth_rounds, + "optimizer_steps_per_round": ( + self.optimizer_steps_per_round + ), + "seed": self.seed, + "initial_scale": self.initial_scale, + "metric_epsilon": self.metric_epsilon, + "cost_weights": asdict(self.cost_weights), + "seed_depth": self.seed_depth, + "fixed_depth": self.fixed_depth, + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzGrowthRequest: + values = dict(payload) + values["spec"] = TFIMVQESpec.from_dict( + values["spec"] + ) + values["cost_weights"] = AnsatzCostWeights( + **values["cost_weights"] + ) + return cls(**values) + + +@dataclass(frozen=True) +class AnsatzGrowthRound: + """One seed/fixed optimization or adaptive addition.""" + + round_index: int + phase: Literal["fixed", "seed", "growth"] + structure: AnsatzStructure + selected_operator: AnsatzOperator | None + candidates: tuple[AnsatzCandidateScore, ...] + cache_key: str + compile_seconds: float + screening_seconds: float + optimization_seconds: float + evaluations: int + optimizer_steps: int + optimizer_message: str | None + energy: float + energy_error: float + boundary_dimension: int + + def to_dict(self) -> dict[str, Any]: + return { + "round_index": self.round_index, + "phase": self.phase, + "structure": self.structure.to_dict(), + "selected_operator": ( + self.selected_operator.to_dict() + if self.selected_operator is not None + else None + ), + "candidates": [ + item.to_dict() for item in self.candidates + ], + "cache_key": self.cache_key, + "compile_seconds": self.compile_seconds, + "screening_seconds": self.screening_seconds, + "optimization_seconds": ( + self.optimization_seconds + ), + "evaluations": self.evaluations, + "optimizer_steps": self.optimizer_steps, + "optimizer_message": self.optimizer_message, + "energy": self.energy, + "energy_error": self.energy_error, + "boundary_dimension": ( + self.boundary_dimension + ), + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzGrowthRound: + values = dict(payload) + values["structure"] = AnsatzStructure.from_dict( + values["structure"] + ) + if values["selected_operator"] is not None: + values["selected_operator"] = ( + AnsatzOperator.from_dict( + values["selected_operator"] + ) + ) + values["candidates"] = tuple( + AnsatzCandidateScore.from_dict(item) + for item in values["candidates"] + ) + return cls(**values) + + +@dataclass(frozen=True) +class AnsatzGrowthResult: + """Measured fixed/adaptive ansatz outcome.""" + + request: AnsatzGrowthRequest + converged: bool + ground_energy: float + target_energy: float + final_energy: float + final_parameters: tuple[float, ...] + final_structure: AnsatzStructure + rounds: tuple[AnsatzGrowthRound, ...] + evaluations: int + compiled_structures: int + compile_seconds: float + screening_seconds: float + optimization_seconds: float + time_to_target_seconds: float | None + total_seconds: float + peak_rss_bytes: int + failure: str | None = None + skipped: bool = False + + def to_dict(self) -> dict[str, Any]: + return { + "request": self.request.to_dict(), + "converged": self.converged, + "ground_energy": self.ground_energy, + "target_energy": self.target_energy, + "final_energy": self.final_energy, + "final_parameters": list( + self.final_parameters + ), + "final_structure": ( + self.final_structure.to_dict() + ), + "rounds": [ + item.to_dict() for item in self.rounds + ], + "evaluations": self.evaluations, + "compiled_structures": ( + self.compiled_structures + ), + "compile_seconds": self.compile_seconds, + "screening_seconds": self.screening_seconds, + "optimization_seconds": ( + self.optimization_seconds + ), + "time_to_target_seconds": ( + self.time_to_target_seconds + ), + "total_seconds": self.total_seconds, + "peak_rss_bytes": self.peak_rss_bytes, + "failure": self.failure, + "skipped": self.skipped, + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> AnsatzGrowthResult: + values = dict(payload) + values["request"] = AnsatzGrowthRequest.from_dict( + values["request"] + ) + values["final_parameters"] = tuple( + float(item) + for item in values["final_parameters"] + ) + values["final_structure"] = ( + AnsatzStructure.from_dict( + values["final_structure"] + ) + ) + values["rounds"] = tuple( + AnsatzGrowthRound.from_dict(item) + for item in values["rounds"] + ) + return cls(**values) + + +@dataclass +class _RunState: + started: float + ground_energy: float + target_error: float + time_to_target: float | None = None + evaluations: int = 0 + compile_seconds: float = 0.0 + screening_seconds: float = 0.0 + optimization_seconds: float = 0.0 + + +def _parameter_dtype(spec: TFIMVQESpec): + return ( + np.float32 + if spec.dtype == "complex64" + else np.float64 + ) + + +def _optimize_structure( + structure: AnsatzStructure, + initial_parameters: np.ndarray, + request: AnsatzGrowthRequest, + state: _RunState, + phase: Literal["fixed", "seed", "growth"], + round_index: int, + selected_operator: AnsatzOperator | None, + candidates: tuple[AnsatzCandidateScore, ...], + screening_seconds: float, +) -> tuple[ + np.ndarray, + AnsatzGrowthRound, + bool, + str | None, +]: + key = ansatz_cache_key(structure, request.spec) + function = jax.jit( + jax.value_and_grad( + lambda parameters: ordered_ansatz_energy( + parameters, + structure, + request.spec, + ) + ) + ) + compile_started = time.perf_counter() + compiled = function.lower( + np.asarray( + initial_parameters, + dtype=_parameter_dtype(request.spec), + ) + ).compile() + compile_seconds = time.perf_counter() - compile_started + state.compile_seconds += compile_seconds + + round_evaluations = 0 + final_energy = float("nan") + + def evaluate( + parameters: np.ndarray, + ) -> tuple[float, np.ndarray]: + values = np.asarray( + parameters, + dtype=_parameter_dtype(request.spec), + ) + energy, gradient = compiled(values) + jax.block_until_ready((energy, gradient)) + return ( + float(np.asarray(energy)), + np.asarray(gradient), + ) + + def observe( + evaluation: int, + optimizer_step: int, + parameters: np.ndarray, + energy: float, + gradient: np.ndarray, + metric_condition: float | None, + ) -> bool: + del ( + evaluation, + optimizer_step, + parameters, + gradient, + metric_condition, + ) + nonlocal round_evaluations, final_energy + round_evaluations += 1 + state.evaluations += 1 + final_energy = float(energy) + reached = ( + energy - state.ground_energy + <= state.target_error + ) + if reached and state.time_to_target is None: + state.time_to_target = ( + time.perf_counter() - state.started + ) + return reached + + optimization_started = time.perf_counter() + try: + outcome = run_lbfgs( + initial_parameters, + evaluate, + observe, + max_steps=request.optimizer_steps_per_round, + ) + optimizer_message = outcome.failure + parameters = np.asarray(outcome.parameters) + reached = outcome.target_reached + optimizer_steps = outcome.steps + if not reached: + energy, gradient = evaluate(parameters) + reached = observe( + outcome.evaluations + 1, + outcome.steps, + parameters, + energy, + gradient, + None, + ) + except OptimizerUnavailable as exc: + parameters = np.asarray(initial_parameters) + reached = False + optimizer_steps = 0 + optimizer_message = str(exc) + fatal_failure = str(exc) + energy, gradient = evaluate(parameters) + reached = observe( + 1, + 0, + parameters, + energy, + gradient, + None, + ) + except ( + FloatingPointError, + ValueError, + np.linalg.LinAlgError, + ) as exc: + parameters = np.asarray(initial_parameters) + reached = False + optimizer_steps = 0 + optimizer_message = ( + f"{type(exc).__name__}: {exc}" + ) + fatal_failure = optimizer_message + else: + fatal_failure = None + optimization_seconds = ( + time.perf_counter() - optimization_started + ) + state.optimization_seconds += optimization_seconds + round_result = AnsatzGrowthRound( + round_index=round_index, + phase=phase, + structure=structure, + selected_operator=selected_operator, + candidates=candidates, + cache_key=key, + compile_seconds=compile_seconds, + screening_seconds=screening_seconds, + optimization_seconds=optimization_seconds, + evaluations=round_evaluations, + optimizer_steps=optimizer_steps, + optimizer_message=optimizer_message, + energy=final_energy, + energy_error=final_energy - state.ground_energy, + boundary_dimension=spatial_boundary_dimension( + structure + ), + ) + return parameters, round_result, reached, fatal_failure + + +def _screen( + structure: AnsatzStructure, + parameters: np.ndarray, + request: AnsatzGrowthRequest, +) -> tuple[ + tuple[AnsatzCandidateScore, ...], + float, +]: + started = time.perf_counter() + state_function = jax.jit( + lambda values: ordered_ansatz_state( + values, + structure, + request.spec, + ) + ) + compiled = state_function.lower( + np.asarray( + parameters, + dtype=_parameter_dtype(request.spec), + ) + ).compile() + vector = compiled( + np.asarray( + parameters, + dtype=_parameter_dtype(request.spec), + ) + ) + jax.block_until_ready(vector) + signals = pool_signals( + vector, + local_operator_pool(request.spec.nqubits), + request.spec, + metric_epsilon=request.metric_epsilon, + ) + policy = ( + "gradient-only" + if request.policy == "gradient-only" + else "contraction-aware" + ) + ranked = rank_ansatz_candidates( + structure, + signals, + policy, + weights=request.cost_weights, + ) + return ranked, time.perf_counter() - started + + +def run_ansatz_growth( + request: AnsatzGrowthRequest, +) -> AnsatzGrowthResult: + """Run one fully measured fixed or adaptive ansatz solve.""" + + started = time.perf_counter() + ground_energy = tfim_ground_energy(request.spec) + state = _RunState( + started=started, + ground_energy=ground_energy, + target_error=request.target_energy_error, + ) + rng = np.random.default_rng(request.seed) + seed_structure = fixed_rzz_rx_structure( + request.spec.nqubits, + request.seed_depth, + ) + seed_parameters = rng.normal( + 0.0, + request.initial_scale, + size=seed_structure.parameter_count, + ) + rounds: list[AnsatzGrowthRound] = [] + failure: str | None = None + skipped = False + + if request.policy == "fixed": + structure = fixed_rzz_rx_structure( + request.spec.nqubits, + request.fixed_depth, + ) + parameters = np.concatenate( + ( + seed_parameters, + np.zeros( + structure.parameter_count + - seed_structure.parameter_count + ), + ) + ) + ( + parameters, + round_result, + converged, + failure, + ) = _optimize_structure( + structure, + parameters, + request, + state, + "fixed", + 0, + None, + (), + 0.0, + ) + rounds.append(round_result) + else: + structure = seed_structure + parameters = seed_parameters + ( + parameters, + round_result, + converged, + failure, + ) = _optimize_structure( + structure, + parameters, + request, + state, + "seed", + 0, + None, + (), + 0.0, + ) + rounds.append(round_result) + for round_index in range( + 1, + request.max_growth_rounds + 1, + ): + if converged or failure is not None: + break + candidates, screening_seconds = _screen( + structure, + parameters, + request, + ) + state.screening_seconds += screening_seconds + selected = candidates[0].operator + structure = structure.append(selected) + parameters = np.concatenate( + (parameters, np.zeros(1)) + ) + ( + parameters, + round_result, + converged, + failure, + ) = _optimize_structure( + structure, + parameters, + request, + state, + "growth", + round_index, + selected, + candidates, + screening_seconds, + ) + rounds.append(round_result) + + total_seconds = time.perf_counter() - started + if failure is not None and "requires" in failure: + skipped = True + if not converged and failure is None: + failure = "target not reached within ansatz budget" + final_energy = rounds[-1].energy + return AnsatzGrowthResult( + request=request, + converged=converged, + ground_energy=ground_energy, + target_energy=( + ground_energy + request.target_energy_error + ), + final_energy=final_energy, + final_parameters=tuple( + float(item) for item in parameters + ), + final_structure=structure, + rounds=tuple(rounds), + evaluations=state.evaluations, + compiled_structures=len(rounds), + compile_seconds=state.compile_seconds, + screening_seconds=state.screening_seconds, + optimization_seconds=state.optimization_seconds, + time_to_target_seconds=state.time_to_target, + total_seconds=total_seconds, + peak_rss_bytes=_peak_rss_bytes(), + failure=failure, + skipped=skipped, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_worker.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_worker.py new file mode 100644 index 000000000..73a5c00ca --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ansatz_worker.py @@ -0,0 +1,40 @@ +"""Fresh-process worker for one ansatz-growth experiment.""" + +from __future__ import annotations + +import argparse +import json +import os +from pathlib import Path + +from vqetape.ansatz_training import ( + AnsatzGrowthRequest, + run_ansatz_growth, +) + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--request", required=True, type=Path) + parser.add_argument("--output", required=True, type=Path) + args = parser.parse_args(argv) + + request = AnsatzGrowthRequest.from_dict( + json.loads(args.request.read_text(encoding="utf-8")) + ) + payload = run_ansatz_growth(request).to_dict() + payload["worker_pid"] = os.getpid() + payload["parent_pid"] = os.getppid() + temporary = args.output.with_suffix( + args.output.suffix + ".tmp" + ) + temporary.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", + ) + temporary.replace(args.output) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/benchmark.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/benchmark.py new file mode 100644 index 000000000..927abb9db --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/benchmark.py @@ -0,0 +1,260 @@ +"""Parent-side fresh-process benchmark orchestration.""" + +from __future__ import annotations + +import json +import os +import subprocess +import sys +import tempfile +from pathlib import Path + +from vqetape.selection import CandidateResult +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, + TensorProgramConfig, +) +from vqetape.subprocess_env import worker_environment + + +def _invalid_result( + config: ProgramConfig | TensorProgramConfig | SpatialProgramConfig, + failure: str, + parent_pid: int, +) -> CandidateResult: + return CandidateResult( + config=config, + valid=False, + failure=failure, + parent_pid=parent_pid, + ) + + +def benchmark_candidate( + *, + spec: TFIMVQESpec, + config: ProgramConfig, + seed: int, + warm_repeats: int, + timeout_seconds: float, +) -> CandidateResult: + """Measure one candidate in a clean Python subprocess.""" + + parent_pid = os.getpid() + payload = { + "program_kind": "statevector", + "spec": spec.to_dict(), + "config": config.to_dict(), + "seed": seed, + "warm_repeats": warm_repeats, + "parent_pid": parent_pid, + } + with tempfile.TemporaryDirectory(prefix="vqetape-") as directory: + request_path = Path(directory) / "request.json" + result_path = Path(directory) / "result.json" + request_path.write_text(json.dumps(payload), encoding="utf-8") + command = [ + sys.executable, + "-m", + "vqetape.worker", + "--request-json", + str(request_path), + "--result-json", + str(result_path), + ] + try: + completed = subprocess.run( + command, + check=False, + capture_output=True, + text=True, + timeout=timeout_seconds, + env=worker_environment(), + ) + except subprocess.TimeoutExpired: + return _invalid_result( + config, + f"worker timed out after {timeout_seconds:.3f} seconds", + parent_pid, + ) + if not result_path.exists(): + detail = completed.stderr.strip() or completed.stdout.strip() + return _invalid_result( + config, + f"worker produced no result (exit={completed.returncode}): {detail}", + parent_pid, + ) + try: + result = CandidateResult.from_dict( + json.loads(result_path.read_text(encoding="utf-8")) + ) + except (json.JSONDecodeError, KeyError, TypeError, ValueError) as exc: + return _invalid_result( + config, + f"malformed worker result: {type(exc).__name__}: {exc}", + parent_pid, + ) + if completed.returncode != 0 and result.valid: + return _invalid_result( + config, + f"worker exited {completed.returncode} despite valid result", + parent_pid, + ) + return result + + +def benchmark_tn_candidate( + *, + spec: TFIMVQESpec, + config: TensorProgramConfig, + seed: int, + warm_repeats: int, + timeout_seconds: float, +) -> CandidateResult: + """Measure one direct tensor-network candidate in a clean subprocess.""" + + parent_pid = os.getpid() + payload = { + "program_kind": "direct_tn", + "spec": spec.to_dict(), + "config": config.to_dict(), + "seed": seed, + "warm_repeats": warm_repeats, + "parent_pid": parent_pid, + } + with tempfile.TemporaryDirectory(prefix="vqetape-tn-") as directory: + request_path = Path(directory) / "request.json" + result_path = Path(directory) / "result.json" + request_path.write_text(json.dumps(payload), encoding="utf-8") + command = [ + sys.executable, + "-m", + "vqetape.worker", + "--request-json", + str(request_path), + "--result-json", + str(result_path), + ] + try: + completed = subprocess.run( + command, + check=False, + capture_output=True, + text=True, + timeout=timeout_seconds, + env=worker_environment(), + ) + except subprocess.TimeoutExpired: + return _invalid_result( + config, + f"worker timed out after {timeout_seconds:.3f} seconds", + parent_pid, + ) + if not result_path.exists(): + detail = completed.stderr.strip() or completed.stdout.strip() + return _invalid_result( + config, + f"worker produced no result (exit={completed.returncode}): {detail}", + parent_pid, + ) + try: + result = CandidateResult.from_dict( + json.loads(result_path.read_text(encoding="utf-8")) + ) + except (json.JSONDecodeError, KeyError, TypeError, ValueError) as exc: + return _invalid_result( + config, + f"malformed worker result: {type(exc).__name__}: {exc}", + parent_pid, + ) + if completed.returncode != 0 and result.valid: + return _invalid_result( + config, + f"worker exited {completed.returncode} despite valid result", + parent_pid, + ) + return result + + +def benchmark_spatial_candidate( + *, + spec: TFIMVQESpec, + config: SpatialProgramConfig, + seed: int, + warm_repeats: int, + timeout_seconds: float, +) -> CandidateResult: + """Measure one spatial-transfer candidate in a clean subprocess.""" + + parent_pid = os.getpid() + payload = { + "program_kind": "spatial_transfer", + "spec": spec.to_dict(), + "config": config.to_dict(), + "seed": seed, + "warm_repeats": warm_repeats, + "parent_pid": parent_pid, + } + with tempfile.TemporaryDirectory( + prefix="vqetape-spatial-" + ) as directory: + request_path = Path(directory) / "request.json" + result_path = Path(directory) / "result.json" + request_path.write_text(json.dumps(payload), encoding="utf-8") + command = [ + sys.executable, + "-m", + "vqetape.worker", + "--request-json", + str(request_path), + "--result-json", + str(result_path), + ] + try: + completed = subprocess.run( + command, + check=False, + capture_output=True, + text=True, + timeout=timeout_seconds, + env=worker_environment(), + ) + except subprocess.TimeoutExpired: + return _invalid_result( + config, + f"worker timed out after {timeout_seconds:.3f} seconds", + parent_pid, + ) + if not result_path.exists(): + detail = completed.stderr.strip() or completed.stdout.strip() + return _invalid_result( + config, + f"worker produced no result " + f"(exit={completed.returncode}): {detail}", + parent_pid, + ) + try: + result = CandidateResult.from_dict( + json.loads(result_path.read_text(encoding="utf-8")) + ) + except ( + json.JSONDecodeError, + KeyError, + TypeError, + ValueError, + ) as exc: + return _invalid_result( + config, + f"malformed worker result: " + f"{type(exc).__name__}: {exc}", + parent_pid, + ) + if completed.returncode != 0 and result.valid: + return _invalid_result( + config, + f"worker exited {completed.returncode} despite valid result", + parent_pid, + ) + return result diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/candidates.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/candidates.py new file mode 100644 index 000000000..4d4a5478a --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/candidates.py @@ -0,0 +1,68 @@ +"""Deterministic first-prototype candidate generation.""" + +from __future__ import annotations + +from math import ceil, floor, sqrt + +from vqetape.estimate import estimate_program +from vqetape.spec import CompileRequest, ProgramConfig + + +def segment_lengths(depth: int) -> tuple[int, ...]: + """Return endpoints, divisors, and checkpoint lengths near sqrt(depth).""" + + if depth < 1: + raise ValueError("depth must be positive") + values = {1, depth, floor(sqrt(depth)), ceil(sqrt(depth))} + for candidate in range(1, floor(sqrt(depth)) + 1): + if depth % candidate == 0: + values.add(candidate) + values.add(depth // candidate) + return tuple(sorted(value for value in values if 1 <= value <= depth)) + + +def _unroll_factors(depth: int) -> tuple[int, ...]: + return tuple(sorted({1, min(2, depth), min(4, depth)})) + + +def enumerate_candidates(request: CompileRequest) -> tuple[ProgramConfig, ...]: + """Enumerate unique statically memory-feasible prototype programs.""" + + candidates: set[ProgramConfig] = { + ProgramConfig(control_flow="unrolled", adjoint="default", unroll=1) + } + for unroll in _unroll_factors(request.spec.depth): + candidates.add( + ProgramConfig( + control_flow="scan", + adjoint="default", + unroll=unroll, + ) + ) + candidates.add( + ProgramConfig( + control_flow="scan", + adjoint="remat", + unroll=unroll, + ) + ) + for segment_length in segment_lengths(request.spec.depth): + candidates.add( + ProgramConfig( + control_flow="scan", + adjoint="segmented", + unroll=unroll, + segment_length=segment_length, + ) + ) + + feasible = [ + config + for config in candidates + if estimate_program( + request.spec, + config, + ).saved_boundary_upper_bound_bytes + <= request.memory_budget_bytes + ] + return tuple(sorted(feasible, key=lambda config: config.label)) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/cli.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/cli.py new file mode 100644 index 000000000..70c60ad7f --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/cli.py @@ -0,0 +1,94 @@ +"""Command-line entry point for reproducible VQETape experiments.""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +from vqetape.compiler import compile_vqe +from vqetape.spatial_candidates import ( + search_spatial_candidates, + search_symmetry_candidates, +) +from vqetape.spec import CompileRequest, TFIMVQESpec +from vqetape.tn_candidates import search_tn_candidates + + +def _parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + description="Compile and benchmark exact TFIM VQE value-and-gradient programs." + ) + parser.add_argument("--nqubits", required=True, type=int) + parser.add_argument("--depth", required=True, type=int) + parser.add_argument( + "--mode", + choices=( + "statevector", + "direct-tn", + "spatial-transfer", + "symmetry", + ), + default="statevector", + ) + parser.add_argument("--coupling", type=float, default=1.0) + parser.add_argument("--field", type=float, default=1.0) + parser.add_argument( + "--initial-state", + choices=("zero", "plus"), + default="plus", + ) + parser.add_argument( + "--dtype", + choices=("complex64", "complex128"), + default="complex64", + ) + parser.add_argument("--memory-budget-gib", required=True, type=float) + parser.add_argument("--expected-steps", required=True, type=int) + parser.add_argument("--warm-repeats", type=int, default=5) + parser.add_argument("--seed", type=int, default=0) + parser.add_argument("--timeout-seconds", type=float, default=300.0) + parser.add_argument("--output", required=True, type=Path) + return parser + + +def main(argv: list[str] | None = None) -> int: + args = _parser().parse_args(argv) + request = CompileRequest( + spec=TFIMVQESpec( + nqubits=args.nqubits, + depth=args.depth, + coupling=args.coupling, + field=args.field, + initial_state=args.initial_state, + dtype=args.dtype, + ), + memory_budget_bytes=int(args.memory_budget_gib * 1024**3), + expected_vqe_steps=args.expected_steps, + warm_repeats=args.warm_repeats, + seed=args.seed, + timeout_seconds=args.timeout_seconds, + ) + if args.mode == "direct-tn": + compiled = search_tn_candidates(request) + elif args.mode == "spatial-transfer": + compiled = search_spatial_candidates(request) + elif args.mode == "symmetry": + compiled = search_symmetry_candidates(request) + else: + compiled = compile_vqe(request) + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text( + json.dumps(compiled.to_report(), indent=2, allow_nan=False), + encoding="utf-8", + ) + print( + f"selected={compiled.selected.config.label} " + f"warm={compiled.selected.warm_seconds_median:.6f}s " + f"rss={compiled.selected.peak_rss_bytes / 1024**2:.1f}MiB" + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/compiler.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/compiler.py new file mode 100644 index 000000000..6389cc9be --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/compiler.py @@ -0,0 +1,168 @@ +"""End-to-end VQETape prototype compiler orchestration.""" + +from __future__ import annotations + +from dataclasses import dataclass, replace +from typing import Any + +import numpy as np + +from vqetape.benchmark import benchmark_candidate +from vqetape.candidates import enumerate_candidates +from vqetape.programs import ValueAndGradFunction, build_value_and_grad +from vqetape.selection import ( + CandidateResult, + correctness_error, + pareto_frontier, + select_for_horizon, +) +from vqetape.spec import CompileRequest, CorrectnessTolerance, ProgramConfig + + +@dataclass(frozen=True) +class CompileResult: + request: CompileRequest + selected: CandidateResult + pareto: tuple[CandidateResult, ...] + candidates: tuple[CandidateResult, ...] + executable: ValueAndGradFunction + + def to_report(self) -> dict[str, Any]: + return { + "request": self.request.to_dict(), + "selected": self.selected.to_dict(), + "pareto": [candidate.to_dict() for candidate in self.pareto], + "candidates": [ + candidate.to_dict() for candidate in self.candidates + ], + "measurement_notes": { + "compile_seconds": ( + "JAX lowering plus compilation in a fresh worker process" + ), + "first_execute_seconds": ( + "first synchronized execution after explicit compilation" + ), + "warm_seconds": ( + "median and MAD of synchronized repeated executions" + ), + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": ( + "compiler-reported executable fields when available" + ), + }, + } + + +def _measure( + request: CompileRequest, + config: ProgramConfig, +) -> CandidateResult: + return benchmark_candidate( + spec=request.spec, + config=config, + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ) + + +def _validate_candidate( + candidate: CandidateResult, + reference: CandidateResult, + tolerance: CorrectnessTolerance, +) -> CandidateResult: + if not candidate.valid: + return candidate + if ( + candidate.energy is None + or candidate.gradient is None + or reference.energy is None + or reference.gradient is None + ): + return replace( + candidate, + valid=False, + failure="worker result did not contain energy and gradient", + ) + energy_error, gradient_error = correctness_error( + candidate.energy, + candidate.gradient, + reference.energy, + reference.gradient, + ) + finite = np.isfinite(energy_error) and np.isfinite(gradient_error) + within_tolerance = ( + energy_error <= tolerance.energy_atol + and gradient_error <= tolerance.gradient_rtol + ) + failure = candidate.failure + if not finite: + failure = "candidate produced non-finite correctness error" + elif not within_tolerance: + failure = ( + "correctness tolerance exceeded: " + f"energy={energy_error:.6g}, gradient={gradient_error:.6g}" + ) + return replace( + candidate, + energy_abs_error=energy_error, + gradient_relative_l2_error=gradient_error, + valid=bool(finite and within_tolerance), + failure=failure, + ) + + +def compile_vqe(request: CompileRequest) -> CompileResult: + """Benchmark, validate, select, and rebuild one VQE executable.""" + + configs = enumerate_candidates(request) + reference_config = ProgramConfig( + control_flow="unrolled", + adjoint="default", + unroll=1, + ) + if reference_config not in configs: + raise ValueError( + "memory budget excludes the unrolled correctness reference" + ) + + reference = _measure(request, reference_config) + if not reference.valid: + raise RuntimeError( + f"correctness reference failed: {reference.failure}" + ) + reference = replace( + reference, + energy_abs_error=0.0, + gradient_relative_l2_error=0.0, + ) + tolerance = CorrectnessTolerance.for_dtype(request.spec.dtype) + measured = [reference] + for config in configs: + if config == reference_config: + continue + measured.append( + _validate_candidate( + _measure(request, config), + reference, + tolerance, + ) + ) + + frontier = pareto_frontier( + measured, + memory_budget_bytes=request.memory_budget_bytes, + ) + selected = select_for_horizon( + measured, + expected_vqe_steps=request.expected_vqe_steps, + memory_budget_bytes=request.memory_budget_bytes, + ) + executable = build_value_and_grad(request.spec, selected.config) + return CompileResult( + request=request, + selected=selected, + pareto=tuple(frontier), + candidates=tuple(measured), + executable=executable, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/estimate.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/estimate.py new file mode 100644 index 000000000..0261e041e --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/estimate.py @@ -0,0 +1,55 @@ +"""Analytical upper bounds used for cheap candidate filtering.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass +from math import ceil +from typing import Any + +from vqetape.spec import ProgramConfig, TFIMVQESpec, dtype_bytes + + +@dataclass(frozen=True) +class StaticEstimate: + parameter_count: int + state_bytes: int + saved_boundary_upper_bound_bytes: int + estimated_forward_gate_applications: int + estimated_recompute_gate_applications: int + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + +def estimate_program( + spec: TFIMVQESpec, + config: ProgramConfig, +) -> StaticEstimate: + """Return conservative state/tape and gate-work estimates.""" + + state_bytes = (1 << spec.nqubits) * dtype_bytes(spec.dtype) + gates_per_layer = 2 * spec.nqubits - 1 + forward_gates = spec.depth * gates_per_layer + + if config.adjoint == "remat": + saved_states = 3 + recompute_gates = forward_gates + elif config.adjoint == "segmented": + assert config.segment_length is not None + saved_states = ( + ceil(spec.depth / config.segment_length) + + config.segment_length + + 2 + ) + recompute_gates = forward_gates + else: + saved_states = spec.depth + 1 + recompute_gates = 0 + + return StaticEstimate( + parameter_count=spec.active_parameter_count, + state_bytes=state_bytes, + saved_boundary_upper_bound_bytes=saved_states * state_bytes, + estimated_forward_gate_applications=forward_gates, + estimated_recompute_gate_applications=recompute_gates, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/explicit_vjp.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/explicit_vjp.py new file mode 100644 index 000000000..d376f2b8b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/explicit_vjp.py @@ -0,0 +1,178 @@ +"""Explicit reverse programs for serialized tensor contractions.""" + +from __future__ import annotations + +from collections.abc import Callable +from dataclasses import dataclass + +import jax +import jax.numpy as jnp +from jax import Array + +from vqetape.ad_analysis import ( + analyze_contraction_steps, + reverse_einsum_equation, +) +from vqetape.tn_program import ContractionStep + +ExplicitContraction = Callable[..., Array] + + +@dataclass(frozen=True) +class _ForwardRecord: + output_node_id: int + selected_node_ids: tuple[int, ...] + selected_values: tuple[Array, ...] + equation: str + + +def build_explicit_contraction_vjp( + input_shapes: tuple[tuple[int, ...], ...], + steps: tuple[ContractionStep, ...], +) -> ExplicitContraction: + """Return a custom-VJP executor for a serialized contraction. + + The forward residual contains only the original leaves. Backward + reconstructs every intermediate and then executes the algebraic + transpose einsums in reverse tree order. + """ + + normalized_shapes = tuple( + tuple(int(extent) for extent in shape) + for shape in input_shapes + ) + analyze_contraction_steps(normalized_shapes, steps) + leaf_count = len(normalized_shapes) + + def execute( + leaves: tuple[Array, ...], + ) -> tuple[Array, tuple[_ForwardRecord, ...], int]: + if len(leaves) != leaf_count: + raise ValueError( + f"expected {leaf_count} contraction inputs, " + f"got {len(leaves)}" + ) + for index, (value, expected) in enumerate( + zip(leaves, normalized_shapes, strict=True) + ): + if tuple(value.shape) != expected: + raise ValueError( + f"input {index} shape must be {expected}, " + f"got {tuple(value.shape)}" + ) + + active: list[tuple[int, Array]] = list( + enumerate(leaves) + ) + records: list[_ForwardRecord] = [] + next_node_id = leaf_count + for step in steps: + try: + selected = tuple( + active.pop(position) + for position in step.positions + ) + except IndexError as exc: + raise ValueError( + "contraction step position is out of range" + ) from exc + selected_node_ids = tuple( + node_id for node_id, _ in selected + ) + selected_values = tuple( + value for _, value in selected + ) + result = jnp.einsum( + step.einsum, + *selected_values, + optimize=True, + ) + records.append( + _ForwardRecord( + output_node_id=next_node_id, + selected_node_ids=selected_node_ids, + selected_values=selected_values, + equation=step.einsum, + ) + ) + active.append((next_node_id, result)) + next_node_id += 1 + + if len(active) != 1: + raise RuntimeError( + "contraction did not produce one output" + ) + root_node_id, output = active[0] + return output, tuple(records), root_node_id + + @jax.custom_vjp + def contraction(*leaves: Array) -> Array: + output, _, _ = execute(tuple(leaves)) + return output + + def contraction_fwd( + *leaves: Array, + ) -> tuple[Array, tuple[Array, ...]]: + leaf_tuple = tuple(leaves) + output, _, _ = execute(leaf_tuple) + return output, leaf_tuple + + def contraction_bwd( + leaves: tuple[Array, ...], + output_cotangent: Array, + ) -> tuple[Array, ...]: + _, records, root_node_id = execute(leaves) + cotangents: dict[int, Array] = { + root_node_id: output_cotangent + } + + for record in reversed(records): + result_cotangent = cotangents.pop( + record.output_node_id + ) + for input_index, node_id in enumerate( + record.selected_node_ids + ): + equation = reverse_einsum_equation( + record.equation, + input_index, + ) + reverse_inputs = ( + result_cotangent, + *( + value + for index, value in enumerate( + record.selected_values + ) + if index != input_index + ), + ) + # JAX's complex VJP uses the algebraic transpose of a + # holomorphic einsum. Conjugating the other operands + # would implement a Hermitian adjoint and disagree with + # jax.vjp for complex cotangents. + input_cotangent = jnp.einsum( + equation, + *reverse_inputs, + optimize=True, + ) + if node_id in cotangents: + input_cotangent = ( + cotangents[node_id] + + input_cotangent + ) + cotangents[node_id] = input_cotangent + + return tuple( + cotangents.get( + leaf_id, + jnp.zeros_like(leaves[leaf_id]), + ) + for leaf_id in range(leaf_count) + ) + + contraction.defvjp( + contraction_fwd, + contraction_bwd, + ) + return contraction diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ground_state.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ground_state.py new file mode 100644 index 000000000..e4267866a --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/ground_state.py @@ -0,0 +1,36 @@ +"""Exact free-fermion ground-state oracle for the open TFIM.""" + +from __future__ import annotations + +import numpy as np + +from vqetape.spec import TFIMVQESpec + + +def tfim_bdg_spectrum(spec: TFIMVQESpec) -> np.ndarray: + """Return the sorted particle-hole-symmetric BdG spectrum.""" + + size = spec.nqubits + normal = np.zeros((size, size), dtype=np.float64) + pairing = np.zeros((size, size), dtype=np.float64) + np.fill_diagonal(normal, 2.0 * spec.field) + for site in range(size - 1): + normal[site, site + 1] = -spec.coupling + normal[site + 1, site] = -spec.coupling + pairing[site, site + 1] = -spec.coupling + pairing[site + 1, site] = spec.coupling + bdg = np.block( + [ + [normal, pairing], + [-pairing, -normal], + ] + ) + return np.linalg.eigvalsh(bdg) + + +def tfim_ground_energy(spec: TFIMVQESpec) -> float: + """Return the exact open-chain TFIM ground energy.""" + + spectrum = tfim_bdg_spectrum(spec) + positive_branch = spectrum[spec.nqubits :] + return -0.5 * float(np.sum(positive_branch)) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout.py new file mode 100644 index 000000000..7365fcaf3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout.py @@ -0,0 +1,279 @@ +"""Exact longitudinal-field Ising VQE holdout.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass +from math import isfinite +from typing import Any + +from jax import Array +import jax.numpy as jnp +import numpy as np + +from vqetape.kernels import ( + apply_rx, + apply_rzz, + initial_state, + tfim_hamiltonian_action, +) +from vqetape.spec import TFIMVQESpec + + +@dataclass(frozen=True) +class LongitudinalIsingSpec: + """Open Ising chain with transverse and longitudinal fields.""" + + nqubits: int + depth: int + coupling: float = 1.0 + transverse_field: float = 1.0 + longitudinal_field: float = 0.35 + dtype: str = "complex128" + + def __post_init__(self) -> None: + if self.nqubits < 2: + raise ValueError("nqubits must be at least 2") + if self.depth < 1: + raise ValueError("depth must be positive") + for value in ( + self.coupling, + self.transverse_field, + self.longitudinal_field, + ): + if not isfinite(value): + raise ValueError( + "Hamiltonian coefficients must be finite" + ) + if self.dtype not in ("complex64", "complex128"): + raise ValueError( + f"unsupported dtype: {self.dtype}" + ) + + @property + def parameter_shape(self) -> tuple[int, int, int]: + return (self.depth, 3, self.nqubits) + + @property + def active_parameter_count(self) -> int: + return self.depth * (3 * self.nqubits - 1) + + def tfim_spec(self) -> TFIMVQESpec: + return TFIMVQESpec( + nqubits=self.nqubits, + depth=self.depth, + coupling=self.coupling, + field=self.transverse_field, + initial_state="plus", + dtype=self.dtype, # type: ignore[arg-type] + ) + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> LongitudinalIsingSpec: + return cls(**payload) + + +def _apply_z( + state: Array, + wire: int, + nqubits: int, +) -> Array: + tensor = state.reshape((2,) * nqubits) + signs = jnp.asarray([1, -1], dtype=state.dtype) + shape = [1] * nqubits + shape[wire] = 2 + return (tensor * signs.reshape(shape)).reshape(-1) + + +def _apply_ry( + state: Array, + angle: Array, + wire: int, + nqubits: int, +) -> Array: + tensor = state.reshape((2,) * nqubits) + moved = jnp.moveaxis(tensor, wire, 0) + half = angle / 2 + matrix = jnp.asarray( + [ + [jnp.cos(half), -jnp.sin(half)], + [jnp.sin(half), jnp.cos(half)], + ], + dtype=state.dtype, + ) + updated = matrix @ moved.reshape(2, -1) + return jnp.moveaxis( + updated.reshape((2,) + moved.shape[1:]), + 0, + wire, + ).reshape(-1) + + +def longitudinal_ansatz_state( + parameters: Array, + spec: LongitudinalIsingSpec, +) -> Array: + """Prepare the symmetry-breaking RZZ–RY–RX holdout ansatz.""" + + if parameters.shape != spec.parameter_shape: + raise ValueError("holdout parameter shape mismatch") + tfim_spec = spec.tfim_spec() + state = initial_state(tfim_spec) + for layer in range(spec.depth): + for wire in range(spec.nqubits - 1): + state = apply_rzz( + state, + parameters[layer, 0, wire], + wire, + wire + 1, + spec.nqubits, + ) + for wire in range(spec.nqubits): + state = _apply_ry( + state, + parameters[layer, 1, wire], + wire, + spec.nqubits, + ) + for wire in range(spec.nqubits): + state = apply_rx( + state, + parameters[layer, 2, wire], + wire, + spec.nqubits, + ) + return state + + +def longitudinal_hamiltonian_action( + state: Array, + spec: LongitudinalIsingSpec, +) -> Array: + """Apply the exact holdout Hamiltonian.""" + + acted = tfim_hamiltonian_action( + state, + spec.tfim_spec(), + ) + for wire in range(spec.nqubits): + acted = ( + acted + - spec.longitudinal_field + * _apply_z(state, wire, spec.nqubits) + ) + return acted + + +def longitudinal_energy( + parameters: Array, + spec: LongitudinalIsingSpec, +) -> Array: + """Return exact statevector energy for the holdout.""" + + state = longitudinal_ansatz_state(parameters, spec) + return jnp.real( + jnp.vdot( + state, + longitudinal_hamiltonian_action(state, spec), + ) + ) + + +def dense_longitudinal_hamiltonian( + spec: LongitudinalIsingSpec, +) -> np.ndarray: + """Construct the audited small-system dense Hamiltonian.""" + + identity = np.eye(2, dtype=np.complex128) + pauli_x = np.asarray( + [[0, 1], [1, 0]], + dtype=np.complex128, + ) + pauli_z = np.asarray( + [[1, 0], [0, -1]], + dtype=np.complex128, + ) + + def product(operators: dict[int, np.ndarray]): + result = np.asarray([1.0], dtype=np.complex128) + for wire in range(spec.nqubits): + result = np.kron( + result, + operators.get(wire, identity), + ) + return result + + dimension = 1 << spec.nqubits + hamiltonian = np.zeros( + (dimension, dimension), + dtype=np.complex128, + ) + for wire in range(spec.nqubits - 1): + hamiltonian -= spec.coupling * product( + {wire: pauli_z, wire + 1: pauli_z} + ) + for wire in range(spec.nqubits): + hamiltonian -= spec.transverse_field * product( + {wire: pauli_x} + ) + hamiltonian -= spec.longitudinal_field * product( + {wire: pauli_z} + ) + return hamiltonian + + +def longitudinal_ground_energy( + spec: LongitudinalIsingSpec, +) -> float: + """Return exact dense ground energy for the small holdout.""" + + return float( + np.linalg.eigvalsh( + dense_longitudinal_hamiltonian(spec) + )[0] + ) + + +def global_x_commutator_norm( + spec: LongitudinalIsingSpec, +) -> float: + """Return Frobenius norm of [H, X⊗...⊗X].""" + + global_x = np.asarray([[1.0]], dtype=np.complex128) + pauli_x = np.asarray( + [[0, 1], [1, 0]], + dtype=np.complex128, + ) + for _ in range(spec.nqubits): + global_x = np.kron(global_x, pauli_x) + hamiltonian = dense_longitudinal_hamiltonian(spec) + commutator = ( + hamiltonian @ global_x + - global_x @ hamiltonian + ) + return float(np.linalg.norm(commutator)) + + +def holdout_z2_applicability( + spec: LongitudinalIsingSpec, +) -> dict[str, Any]: + """Explain why TFIM Z2 spatial compression cannot be reused.""" + + reasons = [] + if abs(spec.longitudinal_field) > 0: + reasons.append( + "longitudinal Z field breaks global-X symmetry" + ) + reasons.append( + "RY ansatz generators break global-X symmetry" + ) + return { + "applicable": False, + "reasons": reasons, + "commutator_norm": global_x_commutator_norm(spec), + } diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout_report.py new file mode 100644 index 000000000..04b75ee36 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout_report.py @@ -0,0 +1,201 @@ +"""Generate fresh-process longitudinal-Ising holdout evidence.""" + +from __future__ import annotations + +import argparse +from datetime import UTC, datetime +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile +from typing import Any + +from vqetape.holdout import LongitudinalIsingSpec +from vqetape.subprocess_env import worker_environment + + +def run_holdout_fresh_process( + spec: LongitudinalIsingSpec, + *, + target_energy_error: float = 0.01, + max_steps: int = 100, + seed: int = 7, + timeout_seconds: float = 180, +) -> dict[str, Any]: + """Run the holdout without sharing JAX state.""" + + if timeout_seconds <= 0: + raise ValueError("timeout_seconds must be positive") + with tempfile.TemporaryDirectory( + prefix="vqetape-holdout-" + ) as directory: + root = Path(directory) + request_path = root / "request.json" + output_path = root / "result.json" + request_path.write_text( + json.dumps( + { + "spec": spec.to_dict(), + "target_energy_error": ( + target_energy_error + ), + "max_steps": max_steps, + "seed": seed, + }, + indent=2, + allow_nan=False, + ), + encoding="utf-8", + ) + environment = worker_environment() + environment["JAX_ENABLE_X64"] = "1" + environment["JAX_COMPILATION_CACHE_DIR"] = str( + root / "jax-cache" + ) + completed = subprocess.run( + [ + sys.executable, + "-m", + "vqetape.holdout_worker", + "--request", + str(request_path), + "--output", + str(output_path), + ], + check=False, + capture_output=True, + text=True, + timeout=timeout_seconds, + env=environment, + ) + if completed.returncode != 0: + raise RuntimeError( + "holdout worker failed: " + f"{completed.stderr.strip()}" + ) + payload = json.loads( + output_path.read_text(encoding="utf-8") + ) + worker_pid = payload.pop("worker_pid") + parent_pid = payload.pop("parent_pid") + if worker_pid == os.getpid() or parent_pid != os.getpid(): + raise RuntimeError( + "holdout worker isolation check failed" + ) + return payload + + +def _write_findings( + payload: dict[str, Any], + destination: Path, +) -> None: + result = payload["result"] + z2 = result["z2_spatial_compression"] + lines = [ + "# VQETape symmetry-breaking holdout findings", + "", + "## Workload", + "", + "The holdout is the open longitudinal-field Ising chain", + "", + "\\[", + "H=-J\\sum_i Z_iZ_{i+1}-g\\sum_iX_i-h\\sum_iZ_i,", + "\\]", + "", + "with a depth-two RZZ–RY–RX ansatz. Its ground energy " + "comes from independent dense diagonalization, not the " + "TFIM free-fermion oracle.", + "", + "## Result", + "", + f"- Converged: `{result['converged']}`.", + f"- Calls: `{result['evaluations']}`.", + f"- Compile: `{result['compile_seconds']:.3f}` s.", + "- Time to target (including compile): " + f"`{result['time_to_target_seconds']:.3f}` s.", + f"- Final energy error: `{result['final_energy_error']:.6g}`.", + "- Global-X commutator Frobenius norm: " + f"`{z2['commutator_norm']:.6g}`.", + "", + "## Symmetry decision", + "", + "Z2-native TFIM compression is explicitly inapplicable:", + "", + ] + lines.extend( + f"- {reason}" for reason in z2["reasons"] + ) + lines.extend( + [ + "", + "This holdout exercises a different conserved-charge " + "regime and a symmetry-breaking ansatz family. It is " + "a small exact generality check, not a claim of " + "large-system longitudinal-Ising tensor performance.", + "", + ] + ) + destination.write_text( + "\n".join(lines), + encoding="utf-8", + ) + + +def generate_holdout_report( + output: Path, + findings: Path, +) -> dict[str, Any]: + """Run and serialize the audited holdout.""" + + result = run_holdout_fresh_process( + LongitudinalIsingSpec( + nqubits=4, + depth=2, + longitudinal_field=0.35, + dtype="complex128", + ) + ) + payload = { + "schema_version": 1, + "generated_at": datetime.now(UTC).isoformat(), + "method": { + "fresh_process": True, + "unique_jax_cache": True, + "x64_enabled": True, + "ground_oracle": "dense-eigvalsh", + "synchronization": "jax.block_until_ready", + }, + "result": result, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", + ) + findings.parent.mkdir(parents=True, exist_ok=True) + _write_findings(payload, findings) + return payload + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--output", required=True, type=Path) + parser.add_argument("--findings", required=True, type=Path) + args = parser.parse_args(argv) + payload = generate_holdout_report( + args.output, + args.findings, + ) + print( + "converged=" + f"{payload['result']['converged']} " + "error=" + f"{payload['result']['final_energy_error']:.6g}" + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout_worker.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout_worker.py new file mode 100644 index 000000000..25ef675cf --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/holdout_worker.py @@ -0,0 +1,193 @@ +"""Fresh worker for the longitudinal-Ising VQE holdout.""" + +from __future__ import annotations + +import argparse +import json +import os +from pathlib import Path +import resource +import sys +import time +from typing import Any + +import jax +import numpy as np + +from vqetape.holdout import ( + LongitudinalIsingSpec, + holdout_z2_applicability, + longitudinal_energy, + longitudinal_ground_energy, +) +from vqetape.optimizers import run_lbfgs + + +def _peak_rss_bytes() -> int: + value = int( + resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + ) + return value if sys.platform == "darwin" else value * 1024 + + +def run_holdout( + spec: LongitudinalIsingSpec, + *, + target_energy_error: float, + max_steps: int, + seed: int, +) -> dict[str, Any]: + """Compile and train the exact holdout ansatz.""" + + started = time.perf_counter() + rng = np.random.default_rng(seed) + initial = rng.normal( + 0.0, + 0.15, + size=spec.parameter_shape, + ) + initial[:, 0, -1] = 0.0 + ground_energy = longitudinal_ground_energy(spec) + + function = jax.jit( + jax.value_and_grad( + lambda values: longitudinal_energy( + values, + spec, + ) + ) + ) + compile_started = time.perf_counter() + compiled = function.lower(initial).compile() + compile_seconds = time.perf_counter() - compile_started + optimization_started = time.perf_counter() + evaluations = 0 + time_to_target = None + trace = [] + + def evaluate(parameters): + energy, gradient = compiled( + np.asarray(parameters) + ) + jax.block_until_ready((energy, gradient)) + return float(np.asarray(energy)), np.asarray(gradient) + + def observe( + evaluation, + optimizer_step, + parameters, + energy, + gradient, + metric_condition, + ): + del parameters, metric_condition + nonlocal evaluations, time_to_target + evaluations += 1 + error = energy - ground_energy + trace.append( + { + "evaluation": evaluation, + "optimizer_step": optimizer_step, + "energy": float(energy), + "energy_error": float(error), + "gradient_norm": float( + np.linalg.norm(gradient) + ), + "elapsed_seconds": ( + time.perf_counter() - started + ), + } + ) + reached = error <= target_energy_error + if reached and time_to_target is None: + time_to_target = ( + time.perf_counter() - started + ) + return reached + + mask = np.ones(spec.parameter_shape) + mask[:, 0, -1] = 0 + outcome = run_lbfgs( + initial, + evaluate, + observe, + max_steps=max_steps, + mask=mask, + ) + parameters = np.asarray(outcome.parameters) + if not outcome.target_reached: + energy, gradient = evaluate(parameters) + reached = observe( + outcome.evaluations + 1, + outcome.steps, + parameters, + energy, + gradient, + None, + ) + else: + reached = True + optimization_seconds = ( + time.perf_counter() - optimization_started + ) + final_energy = trace[-1]["energy"] + return { + "spec": spec.to_dict(), + "ansatz": "rzz-ry-rx", + "target_energy_error": target_energy_error, + "max_steps": max_steps, + "seed": seed, + "converged": bool(reached), + "evaluations": evaluations, + "optimizer_steps": outcome.steps, + "compile_seconds": compile_seconds, + "optimization_seconds": optimization_seconds, + "time_to_target_seconds": time_to_target, + "total_seconds": time.perf_counter() - started, + "peak_rss_bytes": _peak_rss_bytes(), + "ground_energy": ground_energy, + "final_energy": final_energy, + "final_energy_error": final_energy - ground_energy, + "final_parameters": parameters.tolist(), + "trace": trace, + "z2_spatial_compression": ( + holdout_z2_applicability(spec) + ), + "optimizer_message": outcome.failure, + } + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--request", required=True, type=Path) + parser.add_argument("--output", required=True, type=Path) + args = parser.parse_args(argv) + request = json.loads( + args.request.read_text(encoding="utf-8") + ) + spec = LongitudinalIsingSpec.from_dict( + request["spec"] + ) + result = run_holdout( + spec, + target_energy_error=float( + request["target_energy_error"] + ), + max_steps=int(request["max_steps"]), + seed=int(request["seed"]), + ) + result["worker_pid"] = os.getpid() + result["parent_pid"] = os.getppid() + temporary = args.output.with_suffix( + args.output.suffix + ".tmp" + ) + temporary.write_text( + json.dumps(result, indent=2, allow_nan=False), + encoding="utf-8", + ) + temporary.replace(args.output) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/initialization.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/initialization.py new file mode 100644 index 000000000..d7bc026bc --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/initialization.py @@ -0,0 +1,131 @@ +"""Deterministic parameter initialization and VQE recycling.""" + +from __future__ import annotations + +from typing import Any + +import numpy as np + +from vqetape.spec import TFIMVQESpec +from vqetape.training_spec import VQETrainingRequest + + +def _real_dtype(spec: TFIMVQESpec): + return ( + np.float32 + if spec.dtype == "complex64" + else np.float64 + ) + + +def _force_padding_zero(parameters: np.ndarray) -> np.ndarray: + result = np.array(parameters, copy=True) + result[:, 0, -1] = 0 + return result + + +def recycle_parameters( + source_parameters: np.ndarray, + source_spec: TFIMVQESpec, + target_spec: TFIMVQESpec, +) -> tuple[np.ndarray, dict[str, Any]]: + """Map converged local patterns to a new chain/depth.""" + + source = np.asarray( + source_parameters, + dtype=_real_dtype(target_spec), + ) + if tuple(source.shape) != source_spec.parameter_shape: + raise ValueError( + "source parameter shape does not match source spec" + ) + if not np.all(np.isfinite(source)): + raise ValueError("source parameters must be finite") + + target = np.zeros( + target_spec.parameter_shape, + dtype=_real_dtype(target_spec), + ) + for target_layer in range(target_spec.depth): + source_layer = min( + target_layer, + source_spec.depth - 1, + ) + source_rzz = source[ + source_layer, + 0, + : source_spec.nqubits - 1, + ] + source_rx = source[source_layer, 1, :] + rzz_mean = float(np.mean(source_rzz)) + rx_mean = float(np.mean(source_rx)) + + for site in range(target_spec.nqubits - 1): + target[target_layer, 0, site] = ( + source_rzz[site] + if site < source_rzz.size + else rzz_mean + ) + for site in range(target_spec.nqubits): + target[target_layer, 1, site] = ( + source_rx[site] + if site < source_rx.size + else rx_mean + ) + target = _force_padding_zero(target) + provenance = { + "policy": "translation-mean-recycle", + "source_spec": source_spec.to_dict(), + "target_spec": target_spec.to_dict(), + "source_shape": list(source_spec.parameter_shape), + "target_shape": list(target_spec.parameter_shape), + "new_site_fill": "source-layer-active-mean", + "new_layer_fill": "last-source-layer", + "padding_forced_zero": True, + } + return target, provenance + + +def initialize_parameters( + request: VQETrainingRequest, +) -> tuple[np.ndarray, dict[str, Any]]: + """Construct the exact serialized initialization for a run.""" + + dtype = _real_dtype(request.spec) + if request.initialization == "zeros": + parameters = np.zeros( + request.spec.parameter_shape, + dtype=dtype, + ) + return parameters, { + "policy": "zeros", + "seed": None, + "padding_forced_zero": True, + } + if request.initialization == "random": + rng = np.random.default_rng(request.seed) + parameters = rng.normal( + loc=0.0, + scale=0.1, + size=request.spec.parameter_shape, + ).astype(dtype) + parameters = _force_padding_zero(parameters) + return parameters, { + "policy": "normal", + "mean": 0.0, + "scale": 0.1, + "seed": request.seed, + "padding_forced_zero": True, + } + + assert request.recycled_source_spec is not None + assert request.recycled_parameters is not None + parameters, provenance = recycle_parameters( + np.asarray( + request.recycled_parameters, + dtype=dtype, + ), + request.recycled_source_spec, + request.spec, + ) + return parameters, provenance diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/kernels.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/kernels.py new file mode 100644 index 000000000..c8f6e58f8 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/kernels.py @@ -0,0 +1,203 @@ +"""Exact state-vector oracle kernels for the first VQETape prototype.""" + +from __future__ import annotations + +import jax.numpy as jnp +from jax import Array + +from vqetape.spec import TFIMVQESpec + + +def _complex_dtype(spec: TFIMVQESpec): + return jnp.complex64 if spec.dtype == "complex64" else jnp.complex128 + + +def _real_dtype(spec: TFIMVQESpec): + return jnp.float32 if spec.dtype == "complex64" else jnp.float64 + + +def rx_matrix(angle: Array, dtype) -> Array: + """Return exp(-i angle X / 2) as a rank-2 tensor.""" + + half = angle / 2 + cosine = jnp.cos(half) + sine = -1j * jnp.sin(half) + return jnp.asarray( + [[cosine, sine], [sine, cosine]], + dtype=dtype, + ) + + +def rzz_matrix(angle: Array, dtype) -> Array: + """Return exp(-i angle Z⊗Z / 2) as a 4-by-4 matrix.""" + + phase_same = jnp.exp(-0.5j * angle) + phase_different = jnp.exp(0.5j * angle) + return jnp.diag( + jnp.asarray( + [phase_same, phase_different, phase_different, phase_same], + dtype=dtype, + ) + ) + + +def rzz_schmidt_factors(angle: Array, dtype) -> tuple[Array, Array]: + """Return exact rank-2 operator-Schmidt factors for an RZZ gate.""" + + half = angle / 2 + identity = jnp.eye(2, dtype=dtype) + pauli_z = jnp.asarray([[1, 0], [0, -1]], dtype=dtype) + left = jnp.stack( + ( + jnp.cos(half) * identity, + (-1j * jnp.sin(half)) * pauli_z, + ), + axis=-1, + ) + right = jnp.stack((identity, pauli_z), axis=-1) + return left, right + + +def initial_state(spec: TFIMVQESpec) -> Array: + """Construct a normalized product state in computational-basis ordering.""" + + dtype = _complex_dtype(spec) + dimension = 1 << spec.nqubits + if spec.initial_state == "zero": + return jnp.zeros((dimension,), dtype=dtype).at[0].set(1) + amplitude = jnp.asarray(1.0 / jnp.sqrt(dimension), dtype=dtype) + return jnp.full((dimension,), amplitude, dtype=dtype) + + +def _apply_one_qubit_matrix( + state: Array, + matrix: Array, + wire: int, + nqubits: int, +) -> Array: + tensor = state.reshape((2,) * nqubits) + moved = jnp.moveaxis(tensor, wire, 0) + updated = matrix @ moved.reshape(2, -1) + restored = jnp.moveaxis(updated.reshape((2,) + moved.shape[1:]), 0, wire) + return restored.reshape(-1) + + +def _apply_two_qubit_matrix( + state: Array, + matrix: Array, + wire0: int, + wire1: int, + nqubits: int, +) -> Array: + if wire0 == wire1: + raise ValueError("two-qubit gate requires distinct wires") + tensor = state.reshape((2,) * nqubits) + moved = jnp.moveaxis(tensor, (wire0, wire1), (0, 1)) + updated = matrix @ moved.reshape(4, -1) + restored = jnp.moveaxis( + updated.reshape((2, 2) + moved.shape[2:]), + (0, 1), + (wire0, wire1), + ) + return restored.reshape(-1) + + +def apply_rx(state: Array, angle: Array, wire: int, nqubits: int) -> Array: + """Apply exp(-i angle X / 2).""" + + return _apply_one_qubit_matrix( + state, + rx_matrix(angle, state.dtype), + wire, + nqubits, + ) + + +def apply_rzz( + state: Array, + angle: Array, + wire0: int, + wire1: int, + nqubits: int, +) -> Array: + """Apply exp(-i angle Z⊗Z / 2).""" + + return _apply_two_qubit_matrix( + state, + rzz_matrix(angle, state.dtype), + wire0, + wire1, + nqubits, + ) + + +def apply_layer(state: Array, theta_layer: Array, spec: TFIMVQESpec) -> Array: + """Apply one RZZ-then-RX layer; the last RZZ parameter is padding.""" + + for wire in range(spec.nqubits - 1): + state = apply_rzz( + state, + theta_layer[0, wire], + wire, + wire + 1, + spec.nqubits, + ) + for wire in range(spec.nqubits): + state = apply_rx(state, theta_layer[1, wire], wire, spec.nqubits) + return state + + +def _apply_pauli_x(state: Array, wire: int, nqubits: int) -> Array: + matrix = jnp.asarray([[0, 1], [1, 0]], dtype=state.dtype) + return _apply_one_qubit_matrix(state, matrix, wire, nqubits) + + +def _apply_pauli_z(state: Array, wire: int, nqubits: int) -> Array: + matrix = jnp.asarray([[1, 0], [0, -1]], dtype=state.dtype) + return _apply_one_qubit_matrix(state, matrix, wire, nqubits) + + +def tfim_hamiltonian_action( + state: Array, + spec: TFIMVQESpec, +) -> Array: + """Apply the open-boundary TFIM Hamiltonian to a state.""" + + acted_state = jnp.zeros_like(state) + for wire in range(spec.nqubits - 1): + acted = _apply_pauli_z(state, wire, spec.nqubits) + acted = _apply_pauli_z(acted, wire + 1, spec.nqubits) + acted_state = acted_state - spec.coupling * acted + for wire in range(spec.nqubits): + acted = _apply_pauli_x(state, wire, spec.nqubits) + acted_state = acted_state - spec.field * acted + return acted_state + + +def tfim_energy(state: Array, spec: TFIMVQESpec) -> Array: + """Evaluate the open-boundary TFIM expectation without a dense H matrix.""" + + return jnp.asarray( + jnp.real( + jnp.vdot( + state, + tfim_hamiltonian_action(state, spec), + ) + ), + dtype=_real_dtype(spec), + ) + + +def unrolled_state(theta: Array, spec: TFIMVQESpec) -> Array: + """Prepare the variational state with a trace-time-unrolled layer loop.""" + + state = initial_state(spec) + for layer in range(spec.depth): + state = apply_layer(state, theta[layer], spec) + return state + + +def unrolled_energy(theta: Array, spec: TFIMVQESpec) -> Array: + """Reference VQE energy.""" + + return tfim_energy(unrolled_state(theta, spec), spec) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/metrics.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/metrics.py new file mode 100644 index 000000000..c2ac2bbc5 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/metrics.py @@ -0,0 +1,15 @@ +"""Measurement helpers independent of the benchmark transport.""" + +from __future__ import annotations + +from statistics import median + + +def median_and_mad(values: list[float] | tuple[float, ...]) -> tuple[float, float]: + """Return median and median absolute deviation.""" + + if not values: + raise ValueError("at least one value is required") + center = float(median(values)) + deviation = float(median(abs(value - center) for value in values)) + return center, deviation diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/optimizers.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/optimizers.py new file mode 100644 index 000000000..e2d1074e1 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/optimizers.py @@ -0,0 +1,411 @@ +"""Classical optimizer kernels for measured VQE training.""" + +from __future__ import annotations + +from collections.abc import Callable +from dataclasses import dataclass +from typing import Any + +import jax +import jax.numpy as jnp +import numpy as np + +from vqetape.kernels import unrolled_state +from vqetape.spec import TFIMVQESpec + +Evaluate = Callable[ + [np.ndarray], + tuple[float, np.ndarray], +] +Observer = Callable[ + [ + int, + int, + np.ndarray, + float, + np.ndarray, + float | None, + ], + bool, +] +MetricFunction = Callable[[np.ndarray], np.ndarray] + + +class OptimizerUnavailable(RuntimeError): + """Raised when an optional optimizer dependency is absent.""" + + +@dataclass(frozen=True) +class OptimizerOutcome: + """Final state and accounting from one optimizer.""" + + parameters: np.ndarray + evaluations: int + steps: int + target_reached: bool + failure: str | None = None + + +def active_parameter_mask(spec: TFIMVQESpec) -> np.ndarray: + """Return one for physical parameters and zero for RZZ padding.""" + + mask = np.ones(spec.parameter_shape, dtype=np.float64) + mask[:, 0, -1] = 0 + return mask + + +def _normalized_mask( + parameters: np.ndarray, + mask: np.ndarray | None, +) -> np.ndarray: + if mask is None: + return np.ones_like(parameters, dtype=np.float64) + normalized = np.asarray(mask, dtype=np.float64) + if normalized.shape != parameters.shape: + raise ValueError("optimizer mask shape mismatch") + return normalized + + +def _evaluate_finite( + evaluate: Evaluate, + parameters: np.ndarray, +) -> tuple[float, np.ndarray]: + value, gradient = evaluate(parameters) + value = float(value) + gradient = np.asarray( + gradient, + dtype=parameters.dtype, + ) + if gradient.shape != parameters.shape: + raise ValueError("gradient shape mismatch") + if not np.isfinite(value) or not np.all( + np.isfinite(gradient) + ): + raise FloatingPointError( + "optimizer evaluation produced NaN or Inf" + ) + return value, gradient + + +def run_adam( + initial_parameters: np.ndarray, + evaluate: Evaluate, + observer: Observer, + *, + max_steps: int, + learning_rate: float, + mask: np.ndarray | None = None, + beta1: float = 0.9, + beta2: float = 0.999, + epsilon: float = 1e-8, +) -> OptimizerOutcome: + """Run Adam with one recorded evaluation per update.""" + + parameters = np.array( + initial_parameters, + dtype=np.float64, + copy=True, + ) + active = _normalized_mask(parameters, mask) + first_value, gradient = _evaluate_finite( + evaluate, + parameters, + ) + evaluations = 1 + if observer( + evaluations, + 0, + parameters, + first_value, + gradient, + None, + ): + return OptimizerOutcome( + parameters, + evaluations, + 0, + True, + ) + + first_moment = np.zeros_like(parameters) + second_moment = np.zeros_like(parameters) + for step in range(1, max_steps + 1): + masked_gradient = gradient * active + first_moment = ( + beta1 * first_moment + + (1 - beta1) * masked_gradient + ) + second_moment = ( + beta2 * second_moment + + (1 - beta2) * masked_gradient**2 + ) + corrected_first = first_moment / (1 - beta1**step) + corrected_second = ( + second_moment / (1 - beta2**step) + ) + parameters = ( + parameters + - learning_rate + * corrected_first + / (np.sqrt(corrected_second) + epsilon) + ) + parameters = parameters * active + ( + np.asarray(initial_parameters) * (1 - active) + ) + value, gradient = _evaluate_finite( + evaluate, + parameters, + ) + evaluations += 1 + if observer( + evaluations, + step, + parameters, + value, + gradient, + None, + ): + return OptimizerOutcome( + parameters, + evaluations, + step, + True, + ) + return OptimizerOutcome( + parameters, + evaluations, + max_steps, + False, + ) + + +class _TargetReached(Exception): + def __init__( + self, + parameters: np.ndarray, + evaluations: int, + steps: int, + ) -> None: + self.parameters = parameters + self.evaluations = evaluations + self.steps = steps + + +def run_lbfgs( + initial_parameters: np.ndarray, + evaluate: Evaluate, + observer: Observer, + *, + max_steps: int, + mask: np.ndarray | None = None, +) -> OptimizerOutcome: + """Run SciPy L-BFGS-B with a combined value-gradient callback.""" + + try: + from scipy.optimize import minimize + except ImportError as exc: + raise OptimizerUnavailable( + "L-BFGS-B requires the optional scipy dependency" + ) from exc + + initial = np.asarray( + initial_parameters, + dtype=np.float64, + ) + active_mask = _normalized_mask(initial, mask).reshape(-1) + active_indices = np.flatnonzero(active_mask) + base = np.array(initial, copy=True).reshape(-1) + evaluations = 0 + steps = 0 + + def unpack(active_values: np.ndarray) -> np.ndarray: + flat = np.array(base, copy=True) + flat[active_indices] = active_values + return flat.reshape(initial.shape) + + def objective(active_values: np.ndarray): + nonlocal evaluations + parameters = unpack(active_values) + value, gradient = _evaluate_finite( + evaluate, + parameters, + ) + evaluations += 1 + if observer( + evaluations, + steps, + parameters, + value, + gradient, + None, + ): + raise _TargetReached( + parameters, + evaluations, + steps, + ) + return ( + value, + gradient.reshape(-1)[active_indices], + ) + + def accepted(_: np.ndarray) -> None: + nonlocal steps + steps += 1 + + try: + result = minimize( + objective, + base[active_indices], + method="L-BFGS-B", + jac=True, + callback=accepted, + options={ + "maxiter": max_steps, + "maxls": 40, + "ftol": 1e-15, + "gtol": 1e-10, + }, + ) + except _TargetReached as reached: + return OptimizerOutcome( + reached.parameters, + reached.evaluations, + reached.steps, + True, + ) + parameters = unpack(np.asarray(result.x)) + return OptimizerOutcome( + parameters, + evaluations, + int(result.nit), + False, + None if result.success else str(result.message), + ) + + +def run_natural_gradient( + initial_parameters: np.ndarray, + evaluate: Evaluate, + metric: MetricFunction, + observer: Observer, + *, + max_steps: int, + learning_rate: float, + damping: float, + mask: np.ndarray | None = None, +) -> OptimizerOutcome: + """Run a damped exact natural-gradient reference.""" + + parameters = np.asarray( + initial_parameters, + dtype=np.float64, + ).copy() + active_mask = _normalized_mask( + parameters, + mask, + ).reshape(-1) + active_indices = np.flatnonzero(active_mask) + value, gradient = _evaluate_finite( + evaluate, + parameters, + ) + evaluations = 1 + if observer( + evaluations, + 0, + parameters, + value, + gradient, + None, + ): + return OptimizerOutcome( + parameters, + evaluations, + 0, + True, + ) + + for step in range(1, max_steps + 1): + full_metric = np.asarray( + metric(parameters), + dtype=np.float64, + ) + parameter_count = parameters.size + if full_metric.shape != ( + parameter_count, + parameter_count, + ): + raise ValueError("natural-gradient metric shape mismatch") + active_metric = full_metric[ + np.ix_(active_indices, active_indices) + ] + regularized = active_metric + damping * np.eye( + active_indices.size + ) + if not np.all(np.isfinite(regularized)): + raise FloatingPointError( + "natural-gradient metric contains NaN or Inf" + ) + condition = float(np.linalg.cond(regularized)) + direction = np.linalg.solve( + regularized, + gradient.reshape(-1)[active_indices], + ) + flat = parameters.reshape(-1).copy() + flat[active_indices] -= learning_rate * direction + parameters = flat.reshape(parameters.shape) + value, gradient = _evaluate_finite( + evaluate, + parameters, + ) + evaluations += 1 + if observer( + evaluations, + step, + parameters, + value, + gradient, + condition, + ): + return OptimizerOutcome( + parameters, + evaluations, + step, + True, + ) + return OptimizerOutcome( + parameters, + evaluations, + max_steps, + False, + ) + + +def pure_state_qgt( + parameters: Any, + spec: TFIMVQESpec, +) -> np.ndarray: + """Return the exact real pure-state quantum geometric tensor.""" + + theta = jnp.asarray(parameters) + state_function = lambda values: unrolled_state( + values, + spec, + ) + state = state_function(theta) + jacobian = jax.jacfwd(state_function)(theta) + matrix = jacobian.reshape( + state.size, + theta.size, + ) + overlap = matrix.conj().T @ matrix + connection = matrix.conj().T @ state + metric = jnp.real( + overlap + - jnp.outer( + connection, + jnp.conj(connection), + ) + ) + return np.asarray(metric) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/programs.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/programs.py new file mode 100644 index 000000000..33c5e3825 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/programs.py @@ -0,0 +1,159 @@ +"""Forward-control-flow and reverse-schedule program builders.""" + +from __future__ import annotations + +from collections.abc import Callable +from math import ceil + +import jax +import jax.numpy as jnp +from jax import Array + +from vqetape.kernels import apply_layer, initial_state, tfim_energy, unrolled_energy +from vqetape.spec import ProgramConfig, TFIMVQESpec + +EnergyFunction = Callable[[Array], Array] +ValueAndGradFunction = Callable[[Array], tuple[Array, Array]] + + +def _scan_energy_function( + spec: TFIMVQESpec, + config: ProgramConfig, +) -> EnergyFunction: + def layer_body(state: Array, theta_layer: Array) -> tuple[Array, None]: + return apply_layer(state, theta_layer, spec), None + + body = jax.checkpoint(layer_body) if config.adjoint == "remat" else layer_body + + def energy(theta: Array) -> Array: + final_state, _ = jax.lax.scan( + body, + initial_state(spec), + theta, + unroll=min(config.unroll, spec.depth), + ) + return tfim_energy(final_state, spec) + + return energy + + +def _segmented_energy_function( + spec: TFIMVQESpec, + config: ProgramConfig, +) -> EnergyFunction: + """Build an energy function with a sparse-checkpoint custom state VJP.""" + + assert config.segment_length is not None + segment_length = config.segment_length + segment_count = ceil(spec.depth / segment_length) + padded_depth = segment_count * segment_length + padding_layers = padded_depth - spec.depth + segment_unroll = min(config.unroll, segment_length) + + def layer_body(state: Array, theta_layer: Array) -> tuple[Array, None]: + return apply_layer(state, theta_layer, spec), None + + def run_segment(state: Array, theta_segment: Array) -> Array: + final_state, _ = jax.lax.scan( + layer_body, + state, + theta_segment, + unroll=segment_unroll, + ) + return final_state + + def prepare_segments(theta: Array) -> Array: + if padding_layers: + theta = jnp.pad( + theta, + ((0, padding_layers), (0, 0), (0, 0)), + ) + return theta.reshape( + segment_count, + segment_length, + 2, + spec.nqubits, + ) + + def evolve_with_checkpoints(theta: Array) -> tuple[Array, Array, Array]: + segments = prepare_segments(theta) + + def segment_body( + state: Array, + theta_segment: Array, + ) -> tuple[Array, Array]: + next_state = run_segment(state, theta_segment) + return next_state, state + + final_state, checkpoints = jax.lax.scan( + segment_body, + initial_state(spec), + segments, + ) + return final_state, segments, checkpoints + + @jax.custom_vjp + def segmented_state(theta: Array) -> Array: + final_state, _, _ = evolve_with_checkpoints(theta) + return final_state + + def segmented_state_fwd(theta: Array): + final_state, segments, checkpoints = evolve_with_checkpoints(theta) + return final_state, (segments, checkpoints) + + def segmented_state_bwd(residual, final_state_cotangent: Array): + segments, checkpoints = residual + + def reverse_segment( + state_cotangent: Array, + inputs: tuple[Array, Array], + ) -> tuple[Array, Array]: + theta_segment, left_state = inputs + _, pullback = jax.vjp(run_segment, left_state, theta_segment) + left_cotangent, theta_cotangent = pullback(state_cotangent) + return left_cotangent, theta_cotangent + + _, segment_cotangents = jax.lax.scan( + reverse_segment, + final_state_cotangent, + (segments, checkpoints), + reverse=True, + ) + theta_cotangent = segment_cotangents.reshape( + padded_depth, + 2, + spec.nqubits, + )[: spec.depth] + return (theta_cotangent,) + + segmented_state.defvjp(segmented_state_fwd, segmented_state_bwd) + + def energy(theta: Array) -> Array: + return tfim_energy(segmented_state(theta), spec) + + return energy + + +def build_energy_function( + spec: TFIMVQESpec, + config: ProgramConfig, +) -> EnergyFunction: + """Build an un-jitted scalar energy function for one program choice.""" + + if config.adjoint == "segmented": + return _segmented_energy_function(spec, config) + if config.control_flow == "unrolled": + if config.adjoint != "default": + raise ValueError("unrolled program supports only default adjoint") + return lambda theta: unrolled_energy(theta, spec) + return _scan_energy_function(spec, config) + + +def build_value_and_grad( + spec: TFIMVQESpec, + config: ProgramConfig, +) -> ValueAndGradFunction: + """Build a JIT-compiled exact VQE value-and-gradient executable.""" + + energy = build_energy_function(spec, config) + return jax.jit(jax.value_and_grad(energy)) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/runtime_capabilities.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/runtime_capabilities.py new file mode 100644 index 000000000..3fea1196a --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/runtime_capabilities.py @@ -0,0 +1,248 @@ +"""Machine-readable runtime, device, and memory capability evidence.""" + +from __future__ import annotations + +import argparse +from datetime import UTC, datetime +import importlib.metadata +import json +import platform +from pathlib import Path +from typing import Any + +import jax +import numpy as np + + +def _package_version(name: str) -> str | None: + try: + return importlib.metadata.version(name) + except importlib.metadata.PackageNotFoundError: + return None + + +def _device_payload(device) -> dict[str, Any]: + memory_stats = None + try: + memory_stats = device.memory_stats() + except (AttributeError, RuntimeError): + pass + return { + "id": device.id, + "platform": device.platform, + "device_kind": device.device_kind, + "process_index": device.process_index, + "memory_stats_available": memory_stats is not None, + "memory_stats": memory_stats, + } + + +def _compiler_memory_probe() -> dict[str, Any]: + function = jax.jit(lambda value: value * value + 1) + compiled = function.lower( + np.ones((8,), dtype=np.float32) + ).compile() + if not hasattr(compiled, "memory_analysis"): + return { + "available": False, + "reason": ( + "compiled executable has no memory_analysis" + ), + } + analysis = compiled.memory_analysis() + if analysis is None: + return { + "available": False, + "reason": ( + "backend returned no compiler memory analysis" + ), + } + fields = {} + for name in ( + "argument_size_in_bytes", + "output_size_in_bytes", + "alias_size_in_bytes", + "temp_size_in_bytes", + "generated_code_size_in_bytes", + ): + value = getattr(analysis, name, None) + fields[name] = ( + int(value) if value is not None else None + ) + return { + "available": True, + "fields": fields, + "meaning": ( + "compiler estimate; not measured device peak" + ), + } + + +def runtime_capabilities() -> dict[str, Any]: + """Inspect this process without claiming unavailable GPU evidence.""" + + devices = jax.devices() + gpu_devices = [ + device + for device in devices + if device.platform in ("gpu", "cuda", "rocm") + ] + if gpu_devices: + gpu_benchmark = { + "status": "available", + "reason": None, + "device_count": len(gpu_devices), + "peak_memory_measured": False, + "next_action": ( + "run benchmark workers with XProf or NVML " + "peak collection" + ), + } + else: + gpu_benchmark = { + "status": "skipped", + "reason": ( + "JAX reports no GPU device; CUDA/ROCm runtime " + "and genuine GPU peak memory were not measured" + ), + "device_count": 0, + "peak_memory_measured": False, + } + profiler_memory_api = hasattr( + jax.profiler, + "save_device_memory_profile", + ) + return { + "schema_version": 1, + "generated_at": datetime.now(UTC).isoformat(), + "host": { + "python": platform.python_version(), + "system": platform.system(), + "release": platform.release(), + "machine": platform.machine(), + "processor": platform.processor(), + }, + "packages": { + "jax": jax.__version__, + "jaxlib": _package_version("jaxlib"), + "numpy": np.__version__, + "scipy": _package_version("scipy"), + "opt_einsum": _package_version("opt_einsum"), + }, + "jax": { + "default_backend": jax.default_backend(), + "x64_enabled": bool( + jax.config.jax_enable_x64 + ), + "device_count": len(devices), + "devices": [ + _device_payload(device) + for device in devices + ], + }, + "memory_evidence": { + "process_peak_rss": { + "available": True, + "meaning": ( + "host process resident-set peak; not GPU " + "peak memory" + ), + }, + "compiler_memory_analysis": ( + _compiler_memory_probe() + ), + "device_memory_profile_api": { + "available": profiler_memory_api, + "meaning": ( + "profiling API availability does not imply " + "a GPU measurement was collected" + ), + }, + }, + "gpu_benchmark": gpu_benchmark, + } + + +def _write_markdown( + payload: dict[str, Any], + destination: Path, +) -> None: + gpu = payload["gpu_benchmark"] + compiler = payload["memory_evidence"][ + "compiler_memory_analysis" + ] + lines = [ + "# VQETape runtime capabilities", + "", + f"- Backend: `{payload['jax']['default_backend']}`.", + f"- JAX devices: `{payload['jax']['device_count']}`.", + f"- JAX x64 enabled in probe: " + f"`{payload['jax']['x64_enabled']}`.", + f"- GPU benchmark status: `{gpu['status']}`.", + ] + if gpu["reason"] is not None: + lines.append(f"- GPU skip reason: {gpu['reason']}.") + lines.extend( + [ + "- Process peak RSS means host resident memory; it " + "is never reported as GPU peak memory.", + "- Compiler memory analysis available: " + f"`{compiler['available']}`.", + "", + "## Devices", + "", + ] + ) + for device in payload["jax"]["devices"]: + lines.append( + f"- `{device['platform']}:{device['id']}` — " + f"{device['device_kind']}; device memory stats " + f"available: `{device['memory_stats_available']}`." + ) + lines.extend( + [ + "", + "No CUDA-specific performance or memory conclusion " + "is made when the GPU status is skipped.", + "", + ] + ) + destination.write_text( + "\n".join(lines), + encoding="utf-8", + ) + + +def write_runtime_capabilities( + output: Path, + findings: Path, +) -> dict[str, Any]: + payload = runtime_capabilities() + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", + ) + findings.parent.mkdir(parents=True, exist_ok=True) + _write_markdown(payload, findings) + return payload + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--output", required=True, type=Path) + parser.add_argument("--findings", required=True, type=Path) + args = parser.parse_args(argv) + payload = write_runtime_capabilities( + args.output, + args.findings, + ) + print( + f"backend={payload['jax']['default_backend']} " + f"gpu={payload['gpu_benchmark']['status']}" + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/selection.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/selection.py new file mode 100644 index 000000000..5d9f2de66 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/selection.py @@ -0,0 +1,159 @@ +"""Correctness checks and multi-objective candidate selection.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass, field +from math import inf, isfinite +from typing import Any + +import numpy as np + +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TensorProgramConfig, +) + + +@dataclass(frozen=True) +class CandidateResult: + config: ProgramConfig | TensorProgramConfig | SpatialProgramConfig + compile_seconds: float = inf + first_execute_seconds: float = inf + warm_seconds_median: float = inf + warm_seconds_mad: float = inf + peak_rss_bytes: int = 0 + energy_abs_error: float = inf + gradient_relative_l2_error: float = inf + valid: bool = False + failure: str | None = None + worker_pid: int | None = None + parent_pid: int | None = None + energy: float | None = None + gradient: list[Any] | None = None + jax_memory_analysis: dict[str, int | float | None] = field(default_factory=dict) + static_estimate: dict[str, Any] = field(default_factory=dict) + + def to_dict(self) -> dict[str, Any]: + payload = asdict(self) + payload["config"] = self.config.to_dict() + for name in ( + "compile_seconds", + "first_execute_seconds", + "warm_seconds_median", + "warm_seconds_mad", + "energy_abs_error", + "gradient_relative_l2_error", + ): + if not isfinite(payload[name]): + payload[name] = None + return payload + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> CandidateResult: + values = dict(payload) + config_payload = values["config"] + if config_payload.get("representation") == "direct_tn": + values["config"] = TensorProgramConfig.from_dict(config_payload) + elif config_payload.get("representation") == "spatial_transfer": + values["config"] = SpatialProgramConfig.from_dict(config_payload) + else: + values["config"] = ProgramConfig.from_dict(config_payload) + for name in ( + "compile_seconds", + "first_execute_seconds", + "warm_seconds_median", + "warm_seconds_mad", + "energy_abs_error", + "gradient_relative_l2_error", + ): + if values.get(name) is None: + values[name] = inf + return cls(**values) + + +def correctness_error( + energy: Any, + gradient: Any, + reference_energy: Any, + reference_gradient: Any, +) -> tuple[float, float]: + """Return absolute energy and normalized gradient L2 errors.""" + + energy_value = np.asarray(energy) + gradient_value = np.asarray(gradient) + reference_energy_value = np.asarray(reference_energy) + reference_gradient_value = np.asarray(reference_gradient) + + energy_error = float(np.abs(energy_value - reference_energy_value)) + numerator = float(np.linalg.norm(gradient_value - reference_gradient_value)) + denominator = max(1.0, float(np.linalg.norm(reference_gradient_value))) + return energy_error, numerator / denominator + + +def _dominates(left: CandidateResult, right: CandidateResult) -> bool: + left_metrics = ( + left.compile_seconds, + left.warm_seconds_median, + left.peak_rss_bytes, + ) + right_metrics = ( + right.compile_seconds, + right.warm_seconds_median, + right.peak_rss_bytes, + ) + return all(a <= b for a, b in zip(left_metrics, right_metrics, strict=True)) and any( + a < b for a, b in zip(left_metrics, right_metrics, strict=True) + ) + + +def pareto_frontier( + candidates: list[CandidateResult] | tuple[CandidateResult, ...], + memory_budget_bytes: int | None = None, +) -> list[CandidateResult]: + """Return valid nondominated candidates in deterministic label order.""" + + valid = [ + candidate + for candidate in candidates + if candidate.valid + and isfinite(candidate.compile_seconds) + and isfinite(candidate.warm_seconds_median) + and candidate.peak_rss_bytes > 0 + and ( + memory_budget_bytes is None + or candidate.peak_rss_bytes <= memory_budget_bytes + ) + ] + frontier = [ + candidate + for candidate in valid + if not any( + other is not candidate and _dominates(other, candidate) + for other in valid + ) + ] + return sorted(frontier, key=lambda candidate: candidate.config.label) + + +def select_for_horizon( + candidates: list[CandidateResult] | tuple[CandidateResult, ...], + expected_vqe_steps: int, + memory_budget_bytes: int | None = None, +) -> CandidateResult: + """Select minimum compile-plus-warm-horizon cost from the frontier.""" + + if expected_vqe_steps < 1: + raise ValueError("expected_vqe_steps must be positive") + frontier = pareto_frontier(candidates, memory_budget_bytes) + if not frontier: + raise ValueError("no valid candidate satisfies the constraints") + return min( + frontier, + key=lambda candidate: ( + candidate.compile_seconds + + expected_vqe_steps * candidate.warm_seconds_median, + candidate.peak_rss_bytes, + candidate.config.label, + ), + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_candidates.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_candidates.py new file mode 100644 index 000000000..9d09d4e26 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_candidates.py @@ -0,0 +1,505 @@ +"""Joint search over exact spatial-transfer and global-MPO programs.""" + +from __future__ import annotations + +from dataclasses import dataclass, replace +from math import sqrt +from typing import Any + +import numpy as np + +from vqetape.ad_analysis import ( + SpatialDifferentiatedCost, + analyze_spatial_transfer, +) +from vqetape.benchmark import ( + benchmark_candidate, + benchmark_spatial_candidate, + benchmark_tn_candidate, +) +from vqetape.selection import ( + CandidateResult, + correctness_error, + pareto_frontier, + select_for_horizon, +) +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spec import ( + CompileRequest, + CorrectnessTolerance, + ProgramConfig, + SpatialProgramConfig, + TensorProgramConfig, +) +from vqetape.tn_program import PathStrategy, plan_contraction +from vqetape.tn_template import build_mpo_expectation_template +from vqetape.symmetry import z2_symmetry_applicability + + +@dataclass(frozen=True) +class SpatialSearchResult: + request: CompileRequest + selected: CandidateResult + pareto: tuple[CandidateResult, ...] + candidates: tuple[CandidateResult, ...] + reference: CandidateResult + + def to_report(self) -> dict[str, Any]: + return { + "request": self.request.to_dict(), + "selected": self.selected.to_dict(), + "pareto": [item.to_dict() for item in self.pareto], + "candidates": [ + item.to_dict() for item in self.candidates + ], + "reference": self.reference.to_dict(), + "measurement_notes": { + "representations": ( + "global MPO controls and spatial-transfer candidates " + "share one correctness and selection protocol" + ), + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": ( + "compiler-reported executable fields when available" + ), + "residual_profile": ( + "byte-accounted values retained by JAX reverse mode; " + "this is logical tape size, not liveness-aware peak memory" + ), + "modeled_checkpoint_bytes": ( + "boundary-count model, not measured device peak memory" + ), + }, + } + + +@dataclass(frozen=True) +class RankedSpatialConfig: + """One spatial configuration and its deterministic AD cost.""" + + config: SpatialProgramConfig + ad_cost: SpatialDifferentiatedCost + + +def rank_spatial_candidates_by_ad_cost( + request: CompileRequest, + candidates: tuple[SpatialProgramConfig, ...], +) -> tuple[RankedSpatialConfig, ...]: + """Return every candidate sorted by differentiated static cost.""" + + ranked = [] + for config in candidates: + transfer = plan_spatial_transfer( + request.spec, + config.path_strategy, + explicit_paths=config.column_paths, + block_width=config.block_width, + ) + ranked.append( + RankedSpatialConfig( + config=config, + ad_cost=analyze_spatial_transfer(transfer), + ) + ) + ranked.sort( + key=lambda item: ( + item.ad_cost.static_score, + item.ad_cost.total_backward_flops, + item.config.label, + ) + ) + return tuple(ranked) + + +def enumerate_spatial_candidates( + request: CompileRequest, + strategies: tuple[PathStrategy, ...] = ( + "greedy", + "random-greedy", + "auto-hq", + ), +) -> tuple[SpatialProgramConfig, ...]: + """Generate deterministic spatial path and adjoint candidates.""" + + interior_count = request.spec.nqubits - 2 + candidates: set[SpatialProgramConfig] = set() + for strategy in strategies: + max_block_width = max( + 1, + min(4, interior_count), + ) + for block_width in range(1, max_block_width + 1): + transfer = plan_spatial_transfer( + request.spec, + strategy, + block_width=block_width, + ) + column_paths = tuple( + program.path + for program in ( + transfer.first, + transfer.bulk, + transfer.tail, + transfer.last, + ) + if program is not None + ) + if transfer.bulk_block_count == 0: + for adjoint in ("default", "explicit"): + candidates.add( + SpatialProgramConfig( + strategy, + adjoint, + unroll=1, + block_width=block_width, + column_paths=column_paths, + ) + ) + continue + + unrolls = { + min(raw_unroll, transfer.bulk_block_count) + for raw_unroll in (1, 2, 4) + } + for unroll in unrolls: + candidates.add( + SpatialProgramConfig( + strategy, + "default", + unroll=unroll, + block_width=block_width, + column_paths=column_paths, + ) + ) + candidates.add( + SpatialProgramConfig( + strategy, + "remat", + unroll=unroll, + block_width=block_width, + column_paths=column_paths, + ) + ) + for unroll in { + 1, + max(unrolls), + }: + candidates.add( + SpatialProgramConfig( + strategy, + "explicit", + unroll=unroll, + block_width=block_width, + column_paths=column_paths, + ) + ) + if block_width != 1: + continue + candidates.add( + SpatialProgramConfig( + strategy, + "segmented", + unroll=1, + block_width=block_width, + segment_length=max( + 1, + round( + sqrt( + transfer.bulk_block_count + ) + ), + ), + column_paths=column_paths, + ) + ) + return tuple(sorted(candidates, key=lambda item: item.label)) + + +def enumerate_symmetry_candidates( + request: CompileRequest, + strategies: tuple[PathStrategy, ...] = ( + "greedy", + "random-greedy", + "auto-hq", + ), +) -> tuple[SpatialProgramConfig, ...]: + """Generate fixed-path dense/reference/native Z2 triples.""" + + applicable, reason = z2_symmetry_applicability( + request.spec + ) + if not applicable: + raise ValueError( + f"symmetry search is not applicable: {reason}" + ) + + interior_count = request.spec.nqubits - 2 + candidates: set[SpatialProgramConfig] = set() + for strategy in strategies: + max_block_width = max( + 1, + min(4, interior_count), + ) + for block_width in range( + 1, + max_block_width + 1, + ): + transfer = plan_spatial_transfer( + request.spec, + strategy, + block_width=block_width, + ) + column_paths = tuple( + program.path + for program in ( + transfer.first, + transfer.bulk, + transfer.tail, + transfer.last, + ) + if program is not None + ) + unrolls = {1} + if transfer.bulk_block_count: + unrolls.add( + min( + 4, + transfer.bulk_block_count, + ) + ) + for unroll in unrolls: + for symmetry in ( + "none", + "z2-reference", + "z2-native", + ): + candidates.add( + SpatialProgramConfig( + strategy, + "default", + unroll=unroll, + block_width=block_width, + symmetry=symmetry, + column_paths=column_paths, + ) + ) + return tuple( + sorted(candidates, key=lambda item: item.label) + ) + + +def _validate( + candidate: CandidateResult, + reference: CandidateResult, + tolerance: CorrectnessTolerance, +) -> CandidateResult: + if not candidate.valid: + return candidate + if ( + candidate.energy is None + or candidate.gradient is None + or reference.energy is None + or reference.gradient is None + ): + return replace( + candidate, + valid=False, + failure="worker result did not contain energy and gradient", + ) + energy_error, gradient_error = correctness_error( + candidate.energy, + candidate.gradient, + reference.energy, + reference.gradient, + ) + valid = bool( + np.isfinite(energy_error) + and np.isfinite(gradient_error) + and energy_error <= tolerance.energy_atol + and gradient_error <= tolerance.gradient_rtol + ) + return replace( + candidate, + energy_abs_error=energy_error, + gradient_relative_l2_error=gradient_error, + valid=valid, + failure=( + None + if valid + else ( + "correctness tolerance exceeded: " + f"energy={energy_error:.6g}, " + f"gradient={gradient_error:.6g}" + ) + ), + ) + + +def _global_mpo_configs( + request: CompileRequest, + strategies: tuple[PathStrategy, ...], +) -> tuple[TensorProgramConfig, ...]: + template = build_mpo_expectation_template( + request.spec, + gate_representation="dense", + ) + configs = [] + for strategy in strategies: + program = plan_contraction(template, strategy) + configs.append( + TensorProgramConfig( + strategy, + "none", + path=program.path, + gate_representation="dense", + hamiltonian_representation="mpo", + ) + ) + return tuple(configs) + + +def search_spatial_candidates( + request: CompileRequest, + strategies: tuple[PathStrategy, ...] = ( + "greedy", + "random-greedy", + "auto-hq", + ), +) -> SpatialSearchResult: + """Benchmark and select across spatial and global exact MPO programs.""" + + reference = benchmark_candidate( + spec=request.spec, + config=ProgramConfig("unrolled", "default"), + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ) + if not reference.valid: + raise RuntimeError( + f"state-vector reference failed: {reference.failure}" + ) + tolerance = CorrectnessTolerance.for_dtype(request.spec.dtype) + measured: list[CandidateResult] = [] + for config in _global_mpo_configs(request, strategies): + measured.append( + _validate( + benchmark_tn_candidate( + spec=request.spec, + config=config, + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ), + reference, + tolerance, + ) + ) + for config in enumerate_spatial_candidates(request, strategies): + measured.append( + _validate( + benchmark_spatial_candidate( + spec=request.spec, + config=config, + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ), + reference, + tolerance, + ) + ) + + measured.sort(key=lambda item: item.config.label) + frontier = pareto_frontier( + measured, + memory_budget_bytes=request.memory_budget_bytes, + ) + selected = select_for_horizon( + measured, + request.expected_vqe_steps, + request.memory_budget_bytes, + ) + return SpatialSearchResult( + request=request, + selected=selected, + pareto=tuple(frontier), + candidates=tuple(measured), + reference=reference, + ) + + +def search_symmetry_candidates( + request: CompileRequest, + strategies: tuple[PathStrategy, ...] = ( + "greedy", + "random-greedy", + "auto-hq", + ), +) -> SpatialSearchResult: + """Benchmark exact dense/reference/native symmetry triples.""" + + reference = benchmark_candidate( + spec=request.spec, + config=ProgramConfig("unrolled", "default"), + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ) + if not reference.valid: + raise RuntimeError( + f"state-vector reference failed: {reference.failure}" + ) + tolerance = CorrectnessTolerance.for_dtype( + request.spec.dtype + ) + measured: list[CandidateResult] = [] + for config in _global_mpo_configs(request, strategies): + measured.append( + _validate( + benchmark_tn_candidate( + spec=request.spec, + config=config, + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ), + reference, + tolerance, + ) + ) + for config in enumerate_symmetry_candidates( + request, + strategies, + ): + measured.append( + _validate( + benchmark_spatial_candidate( + spec=request.spec, + config=config, + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ), + reference, + tolerance, + ) + ) + + measured.sort(key=lambda item: item.config.label) + frontier = pareto_frontier( + measured, + memory_budget_bytes=request.memory_budget_bytes, + ) + selected = select_for_horizon( + measured, + request.expected_vqe_steps, + request.memory_budget_bytes, + ) + return SpatialSearchResult( + request=request, + selected=selected, + pareto=tuple(frontier), + candidates=tuple(measured), + reference=reference, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_plan.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_plan.py new file mode 100644 index 000000000..453d7d7a0 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_plan.py @@ -0,0 +1,411 @@ +"""Exact spatial partitioning and carry-fused column planning.""" + +from __future__ import annotations + +from collections import defaultdict +from dataclasses import dataclass +from math import prod +from typing import Literal + +import opt_einsum as oe + +from vqetape.spec import TFIMVQESpec +from vqetape.tn_program import ContractionStep, PathStrategy +from vqetape.tn_template import ( + SlotKind, + TensorSlot, + build_mpo_expectation_template, +) + +ColumnRole = Literal["first", "bulk", "tail", "last"] + + +@dataclass(frozen=True) +class SpatialColumnSlot: + """One site-local tensor needed by a column transition.""" + + kind: SlotKind + layer: int | None + site_offset: int + shape: tuple[int, ...] + + +@dataclass(frozen=True) +class SpatialColumnProgram: + """One explicit first, bulk, tail, or last contraction program.""" + + role: ColumnRole + width: int + equation: str + path: tuple[tuple[int, ...], ...] + slots: tuple[SpatialColumnSlot, ...] + input_shapes: tuple[tuple[int, ...], ...] + carry_is_input: bool + left_boundary_shape: tuple[int, ...] + right_boundary_shape: tuple[int, ...] + flops: int + largest_intermediate_elements: int + output_elements: int + steps: tuple[ContractionStep, ...] + + +@dataclass(frozen=True) +class SpatialTransferProgram: + """The reusable blocked programs for one fixed-depth VQE workload.""" + + spec: TFIMVQESpec + strategy: PathStrategy + first: SpatialColumnProgram + bulk: SpatialColumnProgram | None + tail: SpatialColumnProgram | None + last: SpatialColumnProgram + block_width: int + bulk_block_count: int + tail_width: int + boundary_shape: tuple[int, ...] + boundary_dimension: int + + +def spatial_slot_site(slot: TensorSlot) -> int: + """Return the physical site that owns a spatially local tensor.""" + + if slot.wire is None: + raise ValueError(f"slot {slot.kind} has no physical location") + if slot.kind in ("ket_rzz_right", "bra_rzz_right"): + return slot.wire + 1 + if slot.kind in ("ket_rzz", "bra_rzz"): + raise ValueError( + "dense RZZ tensors cannot be spatially partitioned" + ) + return slot.wire + + +def _cut_for_index( + index: int, + uses: list[tuple[int, int]], +) -> tuple[int, int | None]: + """Return an index extent and its left cut, if it crosses a cut.""" + + sites = sorted({site for site, _ in uses}) + extents = {extent for _, extent in uses} + if len(extents) != 1: + raise ValueError(f"inconsistent extent for spatial index {index}") + extent = extents.pop() + if len(sites) == 1: + return extent, None + if len(sites) != 2 or sites[1] != sites[0] + 1: + raise ValueError(f"index {index} is not nearest-neighbor local") + return extent, sites[0] + + +def _validate_cut_shapes( + cut_shapes: tuple[tuple[int, ...], ...], + expected_shape: tuple[int, ...], +) -> None: + if any(shape != expected_shape for shape in cut_shapes): + raise ValueError( + f"inconsistent spatial cut shapes: {cut_shapes}; " + f"expected {expected_shape}" + ) + + +def _canonical_pattern( + operands: tuple[tuple[int, ...], ...], + output: tuple[int, ...], +) -> tuple[tuple[tuple[int, ...], ...], tuple[int, ...]]: + """Remove global symbol identities from a local tensor topology.""" + + mapping: dict[int, int] = {} + + def canonical(index: int) -> int: + if index not in mapping: + mapping[index] = len(mapping) + return mapping[index] + + canonical_operands = tuple( + tuple(canonical(index) for index in operand) + for operand in operands + ) + canonical_output = tuple(canonical(index) for index in output) + return canonical_operands, canonical_output + + +def _plan_column( + *, + role: ColumnRole, + local_slots: tuple[tuple[TensorSlot, int], ...], + left_indices: tuple[int, ...], + right_indices: tuple[int, ...], + dimensions: dict[int, int], + strategy: PathStrategy, + explicit_path: tuple[tuple[int, ...], ...] | None = None, +) -> tuple[SpatialColumnProgram, tuple[object, ...]]: + carry_is_input = bool(left_indices) + operand_indices: list[tuple[int, ...]] = [] + input_shapes: list[tuple[int, ...]] = [] + if carry_is_input: + operand_indices.append(left_indices) + input_shapes.append( + tuple(dimensions[index] for index in left_indices) + ) + for slot, _ in local_slots: + operand_indices.append(slot.indices) + input_shapes.append(slot.shape) + + equation = ( + ",".join( + "".join(oe.get_symbol(index) for index in indices) + for indices in operand_indices + ) + + "->" + + "".join(oe.get_symbol(index) for index in right_indices) + ) + try: + path, info = oe.contract_path( + equation, + *input_shapes, + shapes=True, + optimize=( + explicit_path + if explicit_path is not None + else strategy + ), + ) + except (IndexError, TypeError, ValueError) as exc: + raise ValueError( + f"explicit {role} column path is incompatible" + ) from exc + explicit_path = tuple( + tuple(int(position) for position in item) for item in path + ) + expression = oe.contract_expression( + equation, + *input_shapes, + optimize=explicit_path, + ) + symbol_dimensions = { + oe.get_symbol(index): extent + for index, extent in dimensions.items() + } + steps: list[ContractionStep] = [] + for contraction in expression.contraction_list: + positions, _, einsum, _, _ = contraction + output_subscript = einsum.split("->", maxsplit=1)[1] + step_output_elements = prod( + symbol_dimensions[symbol] for symbol in output_subscript + ) + steps.append( + ContractionStep( + positions=tuple( + int(position) for position in positions + ), + einsum=einsum, + output_subscript=output_subscript, + output_elements=step_output_elements, + ) + ) + + left_shape = tuple(dimensions[index] for index in left_indices) + right_shape = tuple(dimensions[index] for index in right_indices) + column_slots = tuple( + SpatialColumnSlot( + slot.kind, + slot.layer, + site_offset, + slot.shape, + ) + for slot, site_offset in local_slots + ) + width = ( + max( + site_offset + for _, site_offset in local_slots + ) + + 1 + ) + program = SpatialColumnProgram( + role=role, + width=width, + equation=equation, + path=explicit_path, + slots=column_slots, + input_shapes=tuple(input_shapes), + carry_is_input=carry_is_input, + left_boundary_shape=left_shape, + right_boundary_shape=right_shape, + flops=int(info.opt_cost), + largest_intermediate_elements=int( + info.largest_intermediate + ), + output_elements=prod(right_shape), + steps=tuple(steps), + ) + signature = ( + tuple( + ( + slot.kind, + slot.layer, + site_offset, + slot.shape, + ) + for slot, site_offset in local_slots + ), + tuple(input_shapes), + _canonical_pattern(tuple(operand_indices), right_indices), + ) + return program, signature + + +def plan_spatial_transfer( + spec: TFIMVQESpec, + strategy: PathStrategy, + explicit_paths: ( + tuple[tuple[tuple[int, ...], ...], ...] | None + ) = None, + *, + block_width: int = 1, +) -> SpatialTransferProgram: + """Partition and plan one exact carry-fused blocked recurrence.""" + + if strategy not in ("greedy", "random-greedy", "auto-hq"): + raise ValueError(f"unsupported path strategy: {strategy}") + if block_width < 1: + raise ValueError("block_width must be positive") + interior_count = spec.nqubits - 2 + bulk_block_count, tail_width = divmod( + interior_count, + block_width, + ) + role_ranges: list[tuple[ColumnRole, int, int]] = [ + ("first", 0, 1), + ] + if bulk_block_count: + role_ranges.append( + ("bulk", 1, 1 + block_width) + ) + if tail_width: + tail_start = 1 + bulk_block_count * block_width + role_ranges.append( + ("tail", tail_start, tail_start + tail_width) + ) + role_ranges.append( + ("last", spec.nqubits - 1, spec.nqubits) + ) + expected_path_count = len(role_ranges) + if ( + explicit_paths is not None + and len(explicit_paths) != expected_path_count + ): + raise ValueError( + f"column paths must contain {expected_path_count} roles" + ) + template = build_mpo_expectation_template( + spec, + gate_representation="operator_schmidt", + ) + if template.hamiltonian_representation != "mpo": + raise ValueError("spatial transfer requires an MPO Hamiltonian") + + slots_by_site: dict[int, list[TensorSlot]] = defaultdict(list) + index_uses: dict[int, list[tuple[int, int]]] = defaultdict(list) + for slot in template.slots: + site = spatial_slot_site(slot) + if site < 0 or site >= spec.nqubits: + raise ValueError(f"slot {slot.kind} maps outside the chain") + slots_by_site[site].append(slot) + for index, extent in zip( + slot.indices, + slot.shape, + strict=True, + ): + index_uses[index].append((site, extent)) + + cuts: list[list[int]] = [ + [] for _ in range(spec.nqubits - 1) + ] + dimensions: dict[int, int] = {} + for index, uses in index_uses.items(): + extent, cut_site = _cut_for_index(index, uses) + dimensions[index] = extent + if cut_site is not None: + cuts[cut_site].append(index) + for cut in cuts: + cut.sort() + + cut_shapes = tuple( + tuple(dimensions[index] for index in cut) for cut in cuts + ) + expected_shape = (2,) * (2 * spec.depth) + (3,) + _validate_cut_shapes(cut_shapes, expected_shape) + + columns: dict[ColumnRole, SpatialColumnProgram] = {} + signatures: dict[ColumnRole, tuple[object, ...]] = {} + for path_index, (role, start, stop) in enumerate( + role_ranges + ): + left_indices = ( + tuple(cuts[start - 1]) if start > 0 else () + ) + right_indices = ( + tuple(cuts[stop - 1]) + if stop < spec.nqubits + else () + ) + local_slots = tuple( + (slot, site - start) + for site in range(start, stop) + for slot in slots_by_site[site] + ) + column, signature = _plan_column( + role=role, + local_slots=local_slots, + left_indices=left_indices, + right_indices=right_indices, + dimensions=dimensions, + strategy=strategy, + explicit_path=( + None + if explicit_paths is None + else explicit_paths[path_index] + ), + ) + columns[role] = column + signatures[role] = signature + + if bulk_block_count > 1: + bulk = columns["bulk"] + for block_index in range(1, bulk_block_count): + start = 1 + block_index * block_width + stop = start + block_width + local_slots = tuple( + (slot, site - start) + for site in range(start, stop) + for slot in slots_by_site[site] + ) + _, signature = _plan_column( + role="bulk", + local_slots=local_slots, + left_indices=tuple(cuts[start - 1]), + right_indices=tuple(cuts[stop - 1]), + dimensions=dimensions, + strategy=strategy, + explicit_path=bulk.path, + ) + if signature != signatures["bulk"]: + raise ValueError( + "bulk block topology is not canonical" + ) + + return SpatialTransferProgram( + spec=spec, + strategy=strategy, + first=columns["first"], + bulk=columns.get("bulk"), + tail=columns.get("tail"), + last=columns["last"], + block_width=block_width, + bulk_block_count=bulk_block_count, + tail_width=tail_width, + boundary_shape=expected_shape, + boundary_dimension=prod(expected_shape), + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_programs.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_programs.py new file mode 100644 index 000000000..356b68d1c --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spatial_programs.py @@ -0,0 +1,947 @@ +"""Exact spatial-transfer VQE runtime programs.""" + +from __future__ import annotations + +from collections.abc import Callable +from math import ceil +from typing import NamedTuple + +import jax +import jax.numpy as jnp +from jax import Array + +from vqetape.explicit_vjp import ( + ExplicitContraction, + build_explicit_contraction_vjp, +) +from vqetape.kernels import rx_matrix, rzz_schmidt_factors +from vqetape.spatial_plan import ( + SpatialColumnProgram, + SpatialTransferProgram, + plan_spatial_transfer, +) +from vqetape.spec import SpatialProgramConfig, TFIMVQESpec +from vqetape.symmetry import ( + Z2BoundarySector, + compress_boundary, + expand_boundary, + z2_boundary_sector, + z2_symmetry_applicability, +) +from vqetape.symmetry_programs import ( + Z2NativeExecutor, + build_z2_native_contraction, +) +from vqetape.tfim_mpo import tfim_mpo_tensors + +SpatialEnergyFunction = Callable[[Array], Array] +SpatialValueAndGradFunction = Callable[ + [Array], + tuple[Array, Array], +] + + +class SpatialSiteParameters(NamedTuple): + """The three depth-vectors needed by one physical site.""" + + left_rzz: Array + right_rzz: Array + rx: Array + + +def _complex_dtype(spec: TFIMVQESpec): + return ( + jnp.complex64 + if spec.dtype == "complex64" + else jnp.complex128 + ) + + +def _product_state_vector(spec: TFIMVQESpec) -> Array: + dtype = _complex_dtype(spec) + if spec.initial_state == "zero": + return jnp.asarray([1, 0], dtype=dtype) + amplitude = jnp.asarray(1 / jnp.sqrt(2), dtype=dtype) + return jnp.asarray([amplitude, amplitude], dtype=dtype) + + +def _site_parameters( + theta: Array, + site: int, + spec: TFIMVQESpec, +) -> SpatialSiteParameters: + if tuple(theta.shape) != spec.parameter_shape: + raise ValueError( + f"theta shape must be {spec.parameter_shape}, " + f"got {tuple(theta.shape)}" + ) + if site < 0 or site >= spec.nqubits: + raise ValueError("site lies outside the VQE chain") + zeros = jnp.zeros((spec.depth,), dtype=theta.dtype) + return SpatialSiteParameters( + left_rzz=( + theta[:, 0, site - 1] if site > 0 else zeros + ), + right_rzz=( + theta[:, 0, site] + if site < spec.nqubits - 1 + else zeros + ), + rx=theta[:, 1, site], + ) + + +def _validate_site_parameters( + parameters: SpatialSiteParameters, + spec: TFIMVQESpec, +) -> None: + expected = (spec.depth,) + for name, value in zip( + SpatialSiteParameters._fields, + parameters, + strict=True, + ): + if tuple(value.shape) != expected: + raise ValueError( + f"{name} shape must be {expected}, " + f"got {tuple(value.shape)}" + ) + + +def bind_spatial_column( + program: SpatialColumnProgram, + parameters: SpatialSiteParameters, + spec: TFIMVQESpec, +) -> tuple[Array, ...]: + """Bind one width-one spatial program.""" + + _validate_site_parameters(parameters, spec) + if program.width != 1: + raise ValueError( + "bind_spatial_column requires a width-one program" + ) + return _bind_spatial_program( + program, + lambda _: parameters, + spec, + ) + + +def _bind_spatial_program( + program: SpatialColumnProgram, + parameters_at: Callable[[int], SpatialSiteParameters], + spec: TFIMVQESpec, +) -> tuple[Array, ...]: + """Bind local tensors using one parameter view per site offset.""" + + dtype = _complex_dtype(spec) + product_state = _product_state_vector(spec) + mpo_tensors = tfim_mpo_tensors(spec) + + tensors: list[Array] = [] + for slot in program.slots: + parameters = parameters_at(slot.site_offset) + if slot.kind == "initial_ket": + tensor = product_state + elif slot.kind == "initial_bra": + tensor = jnp.conj(product_state) + elif slot.kind in ("ket_rx", "bra_rx"): + assert slot.layer is not None + tensor = rx_matrix(parameters.rx[slot.layer], dtype) + if slot.kind == "bra_rx": + tensor = jnp.conj(tensor) + elif slot.kind in ("ket_rzz_left", "bra_rzz_left"): + assert slot.layer is not None + tensor, _ = rzz_schmidt_factors( + parameters.right_rzz[slot.layer], + dtype, + ) + if slot.kind == "bra_rzz_left": + tensor = jnp.conj(tensor) + elif slot.kind in ("ket_rzz_right", "bra_rzz_right"): + assert slot.layer is not None + _, tensor = rzz_schmidt_factors( + parameters.left_rzz[slot.layer], + dtype, + ) + if slot.kind == "bra_rzz_right": + tensor = jnp.conj(tensor) + elif slot.kind.startswith("hamiltonian_mpo_"): + if slot.kind == "hamiltonian_mpo_first": + tensor = mpo_tensors[0] + elif slot.kind == "hamiltonian_mpo_bulk": + if spec.nqubits < 3: + raise ValueError( + "bulk MPO tensor requires at least " + "three qubits" + ) + tensor = mpo_tensors[1] + else: + tensor = mpo_tensors[-1] + else: + raise ValueError( + f"unsupported spatial slot kind: {slot.kind}" + ) + if tuple(tensor.shape) != slot.shape: + raise ValueError( + f"bound tensor shape {tuple(tensor.shape)} " + f"does not match slot shape {slot.shape}" + ) + tensors.append(tensor) + return tuple(tensors) + + +def bind_spatial_block( + program: SpatialColumnProgram, + packed_sites: Array, + spec: TFIMVQESpec, +) -> tuple[Array, ...]: + """Bind all site-local tensors for one static-width spatial block.""" + + expected = (program.width, 3, spec.depth) + if tuple(packed_sites.shape) != expected: + raise ValueError( + f"packed block shape must be {expected}, " + f"got {tuple(packed_sites.shape)}" + ) + + def parameters_at( + site_offset: int, + ) -> SpatialSiteParameters: + site_values = packed_sites[site_offset] + return SpatialSiteParameters( + left_rzz=site_values[0], + right_rzz=site_values[1], + rx=site_values[2], + ) + + return _bind_spatial_program( + program, + parameters_at, + spec, + ) + + +def execute_spatial_column( + program: SpatialColumnProgram, + carry: Array | None, + tensors: tuple[Array, ...], + explicit_executor: ExplicitContraction | None = None, +) -> Array: + """Execute one explicit carry-fused column contraction.""" + + if len(tensors) != len(program.slots): + raise ValueError("tensor count does not match spatial column") + operands = list(tensors) + if program.carry_is_input: + if carry is None: + raise ValueError("column requires a boundary carry") + if tuple(carry.shape) != program.left_boundary_shape: + raise ValueError( + "boundary carry shape does not match column: " + f"expected {program.left_boundary_shape}, " + f"got {tuple(carry.shape)}" + ) + operands.insert(0, carry) + elif carry is not None: + raise ValueError("first column does not accept a boundary carry") + + if tuple(value.shape for value in operands) != program.input_shapes: + raise ValueError("bound inputs do not match spatial program shapes") + if explicit_executor is not None: + result = explicit_executor(*operands) + else: + for step in program.steps: + selected = [ + operands.pop(position) + for position in step.positions + ] + contracted = jnp.einsum( + step.einsum, + *selected, + optimize=True, + ) + operands.append(contracted) + if len(operands) != 1: + raise RuntimeError( + "spatial column did not produce one output" + ) + result = operands[0] + if tuple(result.shape) != program.right_boundary_shape: + raise RuntimeError( + "spatial column output shape does not match program" + ) + return result + + +def spatial_energy_unrolled( + theta: Array, + program: SpatialTransferProgram, +) -> Array: + """Execute the spatial recurrence with a Python-unrolled site loop.""" + + spec = program.spec + if tuple(theta.shape) != spec.parameter_shape: + raise ValueError( + f"theta shape must be {spec.parameter_shape}, " + f"got {tuple(theta.shape)}" + ) + carry = execute_spatial_column( + program.first, + None, + bind_spatial_column( + program.first, + _site_parameters(theta, 0, spec), + spec, + ), + ) + for site in range(1, spec.nqubits - 1): + assert program.bulk is not None + carry = execute_spatial_column( + program.bulk, + carry, + bind_spatial_column( + program.bulk, + _site_parameters(theta, site, spec), + spec, + ), + ) + energy = execute_spatial_column( + program.last, + carry, + bind_spatial_column( + program.last, + _site_parameters(theta, spec.nqubits - 1, spec), + spec, + ), + ) + return jnp.real(energy) + + +def _bulk_parameters(theta: Array) -> Array: + """Pack left-bond, right-bond, and RX depth vectors by bulk site.""" + + return jnp.stack( + ( + theta[:, 0, 0:-2].T, + theta[:, 0, 1:-1].T, + theta[:, 1, 1:-1].T, + ), + axis=1, + ) + + +def _bulk_transition( + carry: Array, + packed_site: Array, + *, + spec: TFIMVQESpec, + program: SpatialColumnProgram, +) -> Array: + parameters = SpatialSiteParameters( + left_rzz=packed_site[0], + right_rzz=packed_site[1], + rx=packed_site[2], + ) + tensors = bind_spatial_column(program, parameters, spec) + return execute_spatial_column(program, carry, tensors) + + +def _bulk_block_transition( + carry: Array, + packed_block: Array, + *, + spec: TFIMVQESpec, + program: SpatialColumnProgram, + explicit_executor: ExplicitContraction | None = None, + native_executor: Z2NativeExecutor | None = None, +) -> Array: + """Apply one carry-fused multi-site spatial block.""" + + tensors = bind_spatial_block(program, packed_block, spec) + if native_executor is not None: + return native_executor(carry, tensors) + return execute_spatial_column( + program, + carry, + tensors, + explicit_executor, + ) + + +def _first_boundary( + theta: Array, + transfer: SpatialTransferProgram, + explicit_executor: ExplicitContraction | None = None, +) -> Array: + spec = transfer.spec + return execute_spatial_column( + transfer.first, + None, + bind_spatial_column( + transfer.first, + _site_parameters(theta, 0, spec), + spec, + ), + explicit_executor, + ) + + +def _last_energy( + theta: Array, + carry: Array, + transfer: SpatialTransferProgram, + explicit_executor: ExplicitContraction | None = None, +) -> Array: + spec = transfer.spec + result = execute_spatial_column( + transfer.last, + carry, + bind_spatial_column( + transfer.last, + _site_parameters(theta, spec.nqubits - 1, spec), + spec, + ), + explicit_executor, + ) + return jnp.real(result) + + +def modeled_spatial_checkpoint_count( + spec: TFIMVQESpec, + config: SpatialProgramConfig, +) -> int: + """Return the boundary-count model for one reverse schedule.""" + + unit_count = ( + (spec.nqubits - 2) // config.block_width + ) + if config.adjoint == "segmented": + assert config.segment_length is not None + return ( + ceil(unit_count / config.segment_length) + + config.segment_length + ) + return unit_count + + +def _build_segmented_bulk( + spec: TFIMVQESpec, + config: SpatialProgramConfig, + transfer: SpatialTransferProgram, + symmetry_sector: Z2BoundarySector | None = None, + native_executor: Z2NativeExecutor | None = None, +) -> Callable[[Array, Array], Array]: + """Build a sparse-checkpoint custom VJP for the bulk recurrence.""" + + if transfer.bulk is None: + raise ValueError( + "segmented spatial adjoint requires bulk columns" + ) + assert config.segment_length is not None + segment_length = config.segment_length + unit_count = transfer.bulk_block_count + unit_width = transfer.block_width + segment_count = ceil(unit_count / segment_length) + padded_count = segment_count * segment_length + padding = padded_count - unit_count + segment_unroll = min(config.unroll, segment_length) + + def prepare_segments( + packed_bulk: Array, + ) -> tuple[Array, Array]: + expected = ( + unit_count, + unit_width, + 3, + spec.depth, + ) + if tuple(packed_bulk.shape) != expected: + raise ValueError( + f"bulk parameter shape must be {expected}, " + f"got {tuple(packed_bulk.shape)}" + ) + if padding: + packed_bulk = jnp.pad( + packed_bulk, + ( + (0, padding), + (0, 0), + (0, 0), + (0, 0), + ), + ) + mask = jnp.arange(padded_count) < unit_count + return ( + packed_bulk.reshape( + segment_count, + segment_length, + unit_width, + 3, + spec.depth, + ), + mask.reshape(segment_count, segment_length), + ) + + def run_segment( + boundary: Array, + packed_segment: Array, + mask_segment: Array, + ) -> Array: + def step( + carry: Array, + inputs: tuple[Array, Array], + ) -> tuple[Array, None]: + packed_block, valid = inputs + dense_carry = ( + expand_boundary(carry, symmetry_sector) + if symmetry_sector is not None + else carry + ) + next_dense = _bulk_block_transition( + dense_carry, + packed_block, + spec=spec, + program=transfer.bulk, + native_executor=native_executor, + ) + next_carry = ( + compress_boundary( + next_dense, + symmetry_sector, + ) + if symmetry_sector is not None + else next_dense + ) + return jnp.where(valid, next_carry, carry), None + + final, _ = jax.lax.scan( + step, + boundary, + (packed_segment, mask_segment), + unroll=segment_unroll, + ) + return final + + def evolve_with_checkpoints( + initial_boundary: Array, + packed_bulk: Array, + ) -> tuple[Array, tuple[Array, Array, Array]]: + segments, masks = prepare_segments(packed_bulk) + + def segment_body( + boundary: Array, + inputs: tuple[Array, Array], + ) -> tuple[Array, Array]: + packed_segment, mask_segment = inputs + next_boundary = run_segment( + boundary, + packed_segment, + mask_segment, + ) + return next_boundary, boundary + + final, checkpoints = jax.lax.scan( + segment_body, + initial_boundary, + (segments, masks), + ) + return final, (segments, masks, checkpoints) + + @jax.custom_vjp + def segmented_bulk( + initial_boundary: Array, + packed_bulk: Array, + ) -> Array: + final, _ = evolve_with_checkpoints( + initial_boundary, + packed_bulk, + ) + return final + + def segmented_bulk_fwd( + initial_boundary: Array, + packed_bulk: Array, + ) -> tuple[Array, tuple[Array, Array, Array]]: + return evolve_with_checkpoints(initial_boundary, packed_bulk) + + def segmented_bulk_bwd( + residual: tuple[Array, Array, Array], + final_cotangent: Array, + ) -> tuple[Array, Array]: + segments, masks, checkpoints = residual + + def reverse_segment( + boundary_cotangent: Array, + inputs: tuple[Array, Array, Array], + ) -> tuple[Array, Array]: + packed_segment, mask_segment, left_boundary = inputs + _, pullback = jax.vjp( + lambda boundary, values: run_segment( + boundary, + values, + mask_segment, + ), + left_boundary, + packed_segment, + ) + left_cotangent, packed_cotangent = pullback( + boundary_cotangent + ) + return left_cotangent, packed_cotangent + + left_cotangent, segment_cotangents = jax.lax.scan( + reverse_segment, + final_cotangent, + (segments, masks, checkpoints), + reverse=True, + ) + packed_cotangent = segment_cotangents.reshape( + padded_count, + unit_width, + 3, + spec.depth, + )[:unit_count] + return left_cotangent, packed_cotangent + + segmented_bulk.defvjp( + segmented_bulk_fwd, + segmented_bulk_bwd, + ) + return segmented_bulk + + +def build_spatial_energy( + spec: TFIMVQESpec, + config: SpatialProgramConfig, +) -> SpatialEnergyFunction: + """Build one exact rolled spatial-transfer energy function.""" + + transfer = plan_spatial_transfer( + spec, + config.path_strategy, + explicit_paths=config.column_paths, + block_width=config.block_width, + ) + symmetry_sector = None + if config.symmetry != "none": + applicable, reason = z2_symmetry_applicability(spec) + if not applicable: + raise ValueError( + f"Z2 symmetry compression is not applicable: {reason}" + ) + symmetry_sector = z2_boundary_sector( + transfer.boundary_shape + ) + if ( + config.symmetry == "z2-native" + and config.adjoint == "explicit" + ): + raise ValueError( + "z2-native does not yet support the explicit " + "contraction adjoint" + ) + native_first = ( + build_z2_native_contraction( + transfer.first, + symmetry_sector, + dtype=_complex_dtype(spec), + strategy=config.path_strategy, + ) + if config.symmetry == "z2-native" + else None + ) + native_bulk = ( + build_z2_native_contraction( + transfer.bulk, + symmetry_sector, + dtype=_complex_dtype(spec), + strategy=config.path_strategy, + ) + if ( + config.symmetry == "z2-native" + and transfer.bulk is not None + ) + else None + ) + native_tail = ( + build_z2_native_contraction( + transfer.tail, + symmetry_sector, + dtype=_complex_dtype(spec), + strategy=config.path_strategy, + ) + if ( + config.symmetry == "z2-native" + and transfer.tail is not None + ) + else None + ) + native_last = ( + build_z2_native_contraction( + transfer.last, + symmetry_sector, + dtype=_complex_dtype(spec), + strategy=config.path_strategy, + ) + if config.symmetry == "z2-native" + else None + ) + segmented_bulk = ( + _build_segmented_bulk( + spec, + config, + transfer, + ( + symmetry_sector + if config.symmetry == "z2-reference" + else None + ), + ( + native_bulk.executor + if native_bulk is not None + else None + ), + ) + if config.adjoint == "segmented" + else None + ) + explicit_first = ( + build_explicit_contraction_vjp( + transfer.first.input_shapes, + transfer.first.steps, + ) + if config.adjoint == "explicit" + else None + ) + explicit_bulk = ( + build_explicit_contraction_vjp( + transfer.bulk.input_shapes, + transfer.bulk.steps, + ) + if ( + config.adjoint == "explicit" + and transfer.bulk is not None + ) + else None + ) + explicit_tail = ( + build_explicit_contraction_vjp( + transfer.tail.input_shapes, + transfer.tail.steps, + ) + if ( + config.adjoint == "explicit" + and transfer.tail is not None + ) + else None + ) + explicit_last = ( + build_explicit_contraction_vjp( + transfer.last.input_shapes, + transfer.last.steps, + ) + if config.adjoint == "explicit" + else None + ) + + def energy(theta: Array) -> Array: + if tuple(theta.shape) != spec.parameter_shape: + raise ValueError( + f"theta shape must be {spec.parameter_shape}, " + f"got {tuple(theta.shape)}" + ) + if native_first is not None: + carry = native_first.executor( + None, + bind_spatial_column( + transfer.first, + _site_parameters(theta, 0, spec), + spec, + ), + ) + else: + carry = _first_boundary( + theta, + transfer, + explicit_first, + ) + if config.symmetry == "z2-reference": + carry = compress_boundary( + carry, + symmetry_sector, + ) + interior_count = spec.nqubits - 2 + if interior_count: + packed_interior = _bulk_parameters(theta) + if segmented_bulk is not None: + full_site_count = ( + transfer.bulk_block_count + * transfer.block_width + ) + packed_blocks = packed_interior[ + :full_site_count + ].reshape( + transfer.bulk_block_count, + transfer.block_width, + 3, + spec.depth, + ) + carry = segmented_bulk( + carry, + packed_blocks, + ) + elif transfer.bulk is not None: + full_site_count = ( + transfer.bulk_block_count + * transfer.block_width + ) + packed_blocks = packed_interior[ + :full_site_count + ].reshape( + transfer.bulk_block_count, + transfer.block_width, + 3, + spec.depth, + ) + + def transition( + boundary: Array, + packed_block: Array, + ) -> Array: + assert transfer.bulk is not None + dense_boundary = ( + expand_boundary( + boundary, + symmetry_sector, + ) + if config.symmetry == "z2-reference" + else boundary + ) + dense_result = _bulk_block_transition( + dense_boundary, + packed_block, + spec=spec, + program=transfer.bulk, + explicit_executor=explicit_bulk, + native_executor=( + native_bulk.executor + if native_bulk is not None + else None + ), + ) + return ( + compress_boundary( + dense_result, + symmetry_sector, + ) + if config.symmetry == "z2-reference" + else dense_result + ) + + if config.adjoint == "remat": + transition = jax.checkpoint(transition) + + def body( + boundary: Array, + packed_block: Array, + ) -> tuple[Array, None]: + return ( + transition(boundary, packed_block), + None, + ) + + carry, _ = jax.lax.scan( + body, + carry, + packed_blocks, + unroll=min( + config.unroll, + transfer.bulk_block_count, + ), + ) + if transfer.tail is not None: + tail_start = ( + transfer.bulk_block_count + * transfer.block_width + ) + packed_tail = packed_interior[tail_start:] + + def tail_transition( + boundary: Array, + values: Array, + ) -> Array: + assert transfer.tail is not None + dense_boundary = ( + expand_boundary( + boundary, + symmetry_sector, + ) + if config.symmetry == "z2-reference" + else boundary + ) + dense_result = _bulk_block_transition( + dense_boundary, + values, + spec=spec, + program=transfer.tail, + explicit_executor=explicit_tail, + native_executor=( + native_tail.executor + if native_tail is not None + else None + ), + ) + return ( + compress_boundary( + dense_result, + symmetry_sector, + ) + if config.symmetry == "z2-reference" + else dense_result + ) + + if config.adjoint == "remat": + tail_transition = jax.checkpoint( + tail_transition + ) + carry = tail_transition(carry, packed_tail) + if native_last is not None: + return jnp.real( + native_last.executor( + carry, + bind_spatial_column( + transfer.last, + _site_parameters( + theta, + spec.nqubits - 1, + spec, + ), + spec, + ), + ) + ) + dense_carry = ( + expand_boundary(carry, symmetry_sector) + if config.symmetry == "z2-reference" + else carry + ) + return _last_energy( + theta, + dense_carry, + transfer, + explicit_last, + ) + + return energy + + +def build_spatial_value_and_grad( + spec: TFIMVQESpec, + config: SpatialProgramConfig, +) -> SpatialValueAndGradFunction: + """Build a JIT-compiled exact spatial energy and full gradient.""" + + return jax.jit( + jax.value_and_grad(build_spatial_energy(spec, config)) + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spec.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spec.py new file mode 100644 index 000000000..f4ee4ac3d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/spec.py @@ -0,0 +1,365 @@ +"""Validated semantic inputs for the VQETape prototype.""" + +from __future__ import annotations + +from hashlib import sha1 +from dataclasses import asdict, dataclass +from math import isfinite +from typing import Any, Literal + +DTypeName = Literal["complex64", "complex128"] +InitialStateName = Literal["zero", "plus"] +ControlFlowName = Literal["unrolled", "scan"] +AdjointName = Literal["default", "remat", "segmented"] +GateRepresentation = Literal["dense", "operator_schmidt"] +HamiltonianRepresentation = Literal["pauli_sum", "mpo"] +SpatialAdjoint = Literal[ + "default", + "remat", + "segmented", + "explicit", +] +SpatialSymmetry = Literal[ + "none", + "z2-reference", + "z2-native", +] + + +def dtype_bytes(dtype: DTypeName) -> int: + """Return the number of bytes in one complex scalar.""" + + try: + return {"complex64": 8, "complex128": 16}[dtype] + except KeyError as exc: + raise ValueError(f"unsupported dtype: {dtype}") from exc + + +@dataclass(frozen=True) +class TFIMVQESpec: + """Exact open-boundary 1D TFIM VQE workload.""" + + nqubits: int + depth: int + coupling: float = 1.0 + field: float = 1.0 + initial_state: InitialStateName = "plus" + dtype: DTypeName = "complex64" + + def __post_init__(self) -> None: + if self.nqubits < 2: + raise ValueError("nqubits must be at least 2") + if self.depth < 1: + raise ValueError("depth must be positive") + if not isfinite(self.coupling) or not isfinite(self.field): + raise ValueError("coupling and field must be finite") + if self.initial_state not in ("zero", "plus"): + raise ValueError(f"unsupported initial_state: {self.initial_state}") + if self.dtype not in ("complex64", "complex128"): + raise ValueError(f"unsupported dtype: {self.dtype}") + + @property + def parameter_shape(self) -> tuple[int, int, int]: + return (self.depth, 2, self.nqubits) + + @property + def active_parameter_count(self) -> int: + return self.depth * (2 * self.nqubits - 1) + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> TFIMVQESpec: + return cls(**payload) + + +@dataclass(frozen=True) +class ProgramConfig: + """One concrete forward-control-flow and adjoint-schedule choice.""" + + control_flow: ControlFlowName + adjoint: AdjointName + unroll: int = 1 + segment_length: int | None = None + representation: Literal["statevector"] = "statevector" + + def __post_init__(self) -> None: + if self.control_flow not in ("unrolled", "scan"): + raise ValueError(f"unsupported control_flow: {self.control_flow}") + if self.adjoint not in ("default", "remat", "segmented"): + raise ValueError(f"unsupported adjoint: {self.adjoint}") + if self.representation != "statevector": + raise ValueError(f"unsupported representation: {self.representation}") + if self.unroll < 1: + raise ValueError("unroll must be positive") + if self.control_flow == "unrolled" and self.unroll != 1: + raise ValueError("unrolled control flow requires unroll=1") + if self.adjoint == "segmented": + if self.control_flow != "scan": + raise ValueError("segmented adjoint requires scan control flow") + if self.segment_length is None or self.segment_length < 1: + raise ValueError("segmented adjoint requires positive segment_length") + elif self.segment_length is not None: + raise ValueError("segment_length is only valid for segmented adjoint") + + @property + def label(self) -> str: + base = f"{self.control_flow}-{self.adjoint}-u{self.unroll}" + if self.segment_length is not None: + return f"{base}-s{self.segment_length}" + return base + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> ProgramConfig: + return cls(**payload) + + +@dataclass(frozen=True) +class TensorProgramConfig: + """One direct tensor-network path and reverse-tape policy.""" + + path_strategy: Literal["greedy", "random-greedy", "auto-hq"] + remat_policy: Literal[ + "none", + "all", + "output-ge-threshold", + "term", + "objective", + "subtree", + "named", + ] + threshold_bytes: int | None = None + path: tuple[tuple[int, ...], ...] | None = None + subtree_depth: int | None = None + save_names: tuple[str, ...] | None = None + gate_representation: GateRepresentation = "dense" + hamiltonian_representation: HamiltonianRepresentation = "pauli_sum" + representation: Literal["direct_tn"] = "direct_tn" + + def __post_init__(self) -> None: + if self.path_strategy not in ("greedy", "random-greedy", "auto-hq"): + raise ValueError(f"unsupported path_strategy: {self.path_strategy}") + if self.remat_policy not in ( + "none", + "all", + "output-ge-threshold", + "term", + "objective", + "subtree", + "named", + ): + raise ValueError(f"unsupported remat_policy: {self.remat_policy}") + if self.representation != "direct_tn": + raise ValueError(f"unsupported representation: {self.representation}") + if self.gate_representation not in ("dense", "operator_schmidt"): + raise ValueError( + "unsupported gate_representation: " + f"{self.gate_representation}" + ) + if self.hamiltonian_representation not in ("pauli_sum", "mpo"): + raise ValueError( + "unsupported hamiltonian_representation: " + f"{self.hamiltonian_representation}" + ) + if self.remat_policy == "output-ge-threshold": + if self.threshold_bytes is None or self.threshold_bytes < 1: + raise ValueError( + "threshold policy requires positive threshold_bytes" + ) + elif self.threshold_bytes is not None: + raise ValueError( + "threshold_bytes is only valid for threshold policy" + ) + if self.remat_policy == "subtree": + if self.subtree_depth is None or self.subtree_depth < 0: + raise ValueError( + "subtree policy requires nonnegative subtree_depth" + ) + elif self.subtree_depth is not None: + raise ValueError( + "subtree_depth is only valid for subtree policy" + ) + if self.remat_policy == "named": + if self.save_names is None: + raise ValueError("named policy requires save_names") + if len(set(self.save_names)) != len(self.save_names): + raise ValueError("save_names must not contain duplicates") + elif self.save_names is not None: + raise ValueError("save_names is only valid for named policy") + + @property + def label(self) -> str: + gate_label = self.gate_representation.replace("_", "-") + hamiltonian_label = self.hamiltonian_representation.replace("_", "-") + base = ( + f"direct-tn-{gate_label}-" + f"{hamiltonian_label}-" + f"{self.path_strategy}-{self.remat_policy}" + ) + if self.threshold_bytes is not None: + return f"{base}-b{self.threshold_bytes}" + if self.subtree_depth is not None: + return f"{base}-d{self.subtree_depth}" + if self.save_names is not None: + digest = sha1( + "\0".join(self.save_names).encode("utf-8") + ).hexdigest()[:8] + return f"{base}-n{len(self.save_names)}-{digest}" + return base + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> TensorProgramConfig: + values = dict(payload) + if values.get("path") is not None: + values["path"] = tuple( + tuple(int(position) for position in step) + for step in values["path"] + ) + if values.get("save_names") is not None: + values["save_names"] = tuple(str(name) for name in values["save_names"]) + return cls(**values) + + +@dataclass(frozen=True) +class SpatialProgramConfig: + """One exact spatial-transfer path and reverse schedule.""" + + path_strategy: Literal["greedy", "random-greedy", "auto-hq"] + adjoint: SpatialAdjoint + unroll: int = 1 + block_width: int = 1 + symmetry: SpatialSymmetry = "none" + segment_length: int | None = None + column_paths: ( + tuple[tuple[tuple[int, ...], ...], ...] | None + ) = None + representation: Literal["spatial_transfer"] = "spatial_transfer" + + def __post_init__(self) -> None: + if self.path_strategy not in ("greedy", "random-greedy", "auto-hq"): + raise ValueError( + f"unsupported path_strategy: {self.path_strategy}" + ) + if self.adjoint not in ( + "default", + "remat", + "segmented", + "explicit", + ): + raise ValueError(f"unsupported adjoint: {self.adjoint}") + if self.unroll < 1: + raise ValueError("unroll must be positive") + if self.block_width < 1: + raise ValueError("block_width must be positive") + if self.symmetry not in ( + "none", + "z2-reference", + "z2-native", + ): + raise ValueError( + f"unsupported symmetry: {self.symmetry}" + ) + if self.representation != "spatial_transfer": + raise ValueError( + f"unsupported representation: {self.representation}" + ) + if self.adjoint == "segmented": + if self.segment_length is None or self.segment_length < 1: + raise ValueError( + "segmented adjoint requires positive segment_length" + ) + elif self.segment_length is not None: + raise ValueError( + "segment_length is only valid for segmented adjoint" + ) + if self.column_paths is not None: + if len(self.column_paths) not in (2, 3, 4): + raise ValueError( + "column paths must contain first/last, " + "first/block/last, or " + "first/block/tail/last paths" + ) + if any(not path for path in self.column_paths): + raise ValueError("column paths must not be empty") + + @property + def label(self) -> str: + base = ( + f"spatial-transfer-{self.path_strategy}-" + f"b{self.block_width}-{self.adjoint}-u{self.unroll}" + ) + if self.symmetry != "none": + base = f"{base}-{self.symmetry}" + if self.segment_length is not None: + return f"{base}-s{self.segment_length}" + return base + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> SpatialProgramConfig: + values = dict(payload) + if values.get("column_paths") is not None: + values["column_paths"] = tuple( + tuple( + tuple(int(position) for position in step) + for step in path + ) + for path in values["column_paths"] + ) + return cls(**values) + + +@dataclass(frozen=True) +class CorrectnessTolerance: + energy_atol: float + gradient_rtol: float + + @classmethod + def for_dtype(cls, dtype: DTypeName) -> CorrectnessTolerance: + if dtype == "complex64": + return cls(energy_atol=1e-5, gradient_rtol=1e-4) + if dtype == "complex128": + return cls(energy_atol=1e-10, gradient_rtol=1e-9) + raise ValueError(f"unsupported dtype: {dtype}") + + +@dataclass(frozen=True) +class CompileRequest: + """Compilation objective and measurement controls.""" + + spec: TFIMVQESpec + memory_budget_bytes: int + expected_vqe_steps: int + warm_repeats: int = 5 + seed: int = 0 + timeout_seconds: float = 300.0 + + def __post_init__(self) -> None: + if self.memory_budget_bytes < 1: + raise ValueError("memory_budget_bytes must be positive") + if self.expected_vqe_steps < 1: + raise ValueError("expected_vqe_steps must be positive") + if self.warm_repeats < 1: + raise ValueError("warm_repeats must be positive") + if self.timeout_seconds <= 0 or not isfinite(self.timeout_seconds): + raise ValueError("timeout_seconds must be finite and positive") + + def to_dict(self) -> dict[str, Any]: + payload = asdict(self) + payload["spec"] = self.spec.to_dict() + return payload + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> CompileRequest: + values = dict(payload) + values["spec"] = TFIMVQESpec.from_dict(values["spec"]) + return cls(**values) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/subprocess_env.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/subprocess_env.py new file mode 100644 index 000000000..e1a29a372 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/subprocess_env.py @@ -0,0 +1,16 @@ +"""Environment policy for isolated JAX worker processes.""" + +from __future__ import annotations + +import os + + +def worker_environment() -> dict[str, str]: + """Return an inherited environment with exact-safe matmul precision.""" + + environment = dict(os.environ) + environment.setdefault( + "JAX_DEFAULT_MATMUL_PRECISION", + "highest", + ) + return environment diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/symmetry.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/symmetry.py new file mode 100644 index 000000000..defb1f689 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/symmetry.py @@ -0,0 +1,195 @@ +"""Exact Abelian symmetry metadata for spatial VQE boundaries.""" + +from __future__ import annotations + +from dataclasses import dataclass +from itertools import product +from math import prod +from typing import Any + +import jax.numpy as jnp +from jax import Array + +from vqetape.spec import TFIMVQESpec + +_TFIM_MPO_Z2_CHARGES = (0, 1, 0) + + +@dataclass(frozen=True) +class Z2BoundarySector: + """Active positive-parity positions of one dense boundary.""" + + dense_shape: tuple[int, ...] + active_positions: tuple[int, ...] + forbidden_positions: tuple[int, ...] + mpo_charges: tuple[int, int, int] = ( + _TFIM_MPO_Z2_CHARGES + ) + + @property + def active_count(self) -> int: + return len(self.active_positions) + + @property + def dense_count(self) -> int: + return prod(self.dense_shape) + + @property + def active_fraction(self) -> float: + return self.active_count / self.dense_count + + @property + def compression_factor(self) -> float: + return self.dense_count / self.active_count + + def to_dict(self) -> dict[str, Any]: + return { + "symmetry": "global_x_z2", + "dense_shape": list(self.dense_shape), + "active_positions": list(self.active_positions), + "forbidden_positions": list( + self.forbidden_positions + ), + "mpo_charges": list(self.mpo_charges), + "active_count": self.active_count, + "dense_count": self.dense_count, + "active_fraction": self.active_fraction, + "compression_factor": self.compression_factor, + } + + +def _flat_position( + coordinates: tuple[int, ...], + shape: tuple[int, ...], +) -> int: + position = 0 + for coordinate, extent in zip( + coordinates, + shape, + strict=True, + ): + position = position * extent + coordinate + return position + + +def z2_boundary_sector( + boundary_shape: tuple[int, ...], +) -> Z2BoundarySector: + """Derive the exact positive global-X boundary sector.""" + + shape = tuple(int(extent) for extent in boundary_shape) + if ( + len(shape) < 3 + or len(shape) % 2 == 0 + or shape[-1] != 3 + or any(extent != 2 for extent in shape[:-1]) + ): + raise ValueError( + "boundary shape must contain an even positive number " + "of dimension-two circuit legs followed by one " + "dimension-three TFIM MPO leg" + ) + + circuit_leg_count = len(shape) - 1 + active: list[int] = [] + forbidden: list[int] = [] + for circuit_coordinates in product( + (0, 1), + repeat=circuit_leg_count, + ): + circuit_charge = 0 + for charge in circuit_coordinates: + circuit_charge ^= charge + for mpo_coordinate, mpo_charge in enumerate( + _TFIM_MPO_Z2_CHARGES + ): + coordinates = ( + *circuit_coordinates, + mpo_coordinate, + ) + position = _flat_position(coordinates, shape) + target = ( + active + if circuit_charge ^ mpo_charge == 0 + else forbidden + ) + target.append(position) + + return Z2BoundarySector( + dense_shape=shape, + active_positions=tuple(sorted(active)), + forbidden_positions=tuple(sorted(forbidden)), + ) + + +def z2_symmetry_applicability( + spec: TFIMVQESpec, +) -> tuple[bool, str]: + """Return whether the configured workload is in a fixed Z2 sector.""" + + if spec.initial_state != "plus": + return ( + False, + "global-X Z2 compression requires the plus " + "product initial state", + ) + return True, "supported global-X Z2 sector" + + +def compress_boundary( + boundary: Array, + sector: Z2BoundarySector, +) -> Array: + """Gather the exact active entries of a dense boundary.""" + + if tuple(boundary.shape) != sector.dense_shape: + raise ValueError( + "dense boundary shape does not match Z2 sector" + ) + positions = jnp.asarray( + sector.active_positions, + dtype=jnp.int32, + ) + return boundary.reshape(-1)[positions] + + +def expand_boundary( + compressed: Array, + sector: Z2BoundarySector, +) -> Array: + """Scatter an active-sector carry into its dense boundary shape.""" + + expected = (sector.active_count,) + if tuple(compressed.shape) != expected: + raise ValueError( + f"compressed boundary shape must be {expected}, " + f"got {tuple(compressed.shape)}" + ) + positions = jnp.asarray( + sector.active_positions, + dtype=jnp.int32, + ) + dense = jnp.zeros( + (sector.dense_count,), + dtype=compressed.dtype, + ) + return dense.at[positions].set(compressed).reshape( + sector.dense_shape + ) + + +def forbidden_boundary_norm( + boundary: Array, + sector: Z2BoundarySector, +) -> Array: + """Return the L2 norm of entries excluded by exact symmetry.""" + + if tuple(boundary.shape) != sector.dense_shape: + raise ValueError( + "dense boundary shape does not match Z2 sector" + ) + positions = jnp.asarray( + sector.forbidden_positions, + dtype=jnp.int32, + ) + return jnp.linalg.norm(boundary.reshape(-1)[positions]) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/symmetry_programs.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/symmetry_programs.py new file mode 100644 index 000000000..b290325a9 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/symmetry_programs.py @@ -0,0 +1,210 @@ +"""Charge-native sparse contractions for exact Z2 spatial sectors.""" + +from __future__ import annotations + +from collections.abc import Callable +from dataclasses import dataclass + +import jax.numpy as jnp +import numpy as np +import opt_einsum as oe +from jax import Array +from jax.experimental import sparse + +from vqetape.spatial_plan import SpatialColumnProgram +from vqetape.symmetry import Z2BoundarySector + +Z2NativeExecutor = Callable[ + [Array | None, tuple[Array, ...]], + Array, +] + + +@dataclass(frozen=True) +class Z2NativeContraction: + """One sparse-boundary contraction and its serialized path.""" + + role: str + equation: str + path: tuple[tuple[int, ...], ...] + input_boundary_is_sparse: bool + output_boundary_is_compressed: bool + executor: Z2NativeExecutor + + +def _boundary_coordinates( + sector: Z2BoundarySector, +) -> np.ndarray: + positions = np.asarray( + sector.active_positions, + dtype=np.int32, + ) + return np.stack( + np.unravel_index( + positions, + sector.dense_shape, + ), + axis=1, + ).astype(np.int32) + + +def _unique_output_symbol(equation: str) -> str: + index = 0 + while True: + symbol = oe.get_symbol(index) + if symbol not in equation: + return symbol + index += 1 + + +def build_z2_native_contraction( + program: SpatialColumnProgram, + sector: Z2BoundarySector, + *, + dtype, + strategy: str = "greedy", +) -> Z2NativeContraction: + """Build a sparse-input/direct-compressed-output contraction.""" + + if ( + program.carry_is_input + and program.left_boundary_shape + != sector.dense_shape + ): + raise ValueError( + "native input boundary does not match Z2 sector" + ) + has_boundary_output = bool(program.right_boundary_shape) + if ( + has_boundary_output + and program.right_boundary_shape + != sector.dense_shape + ): + raise ValueError( + "native output boundary does not match Z2 sector" + ) + + left, output = program.equation.split( + "->", + maxsplit=1, + ) + equation = program.equation + input_shapes = list(program.input_shapes) + selector = None + coordinates = _boundary_coordinates(sector) + coordinate_array = jnp.asarray( + coordinates, + dtype=jnp.int32, + ) + if has_boundary_output: + compressed_symbol = _unique_output_symbol( + program.equation + ) + selector_subscript = ( + output + compressed_symbol + ) + equation = ( + left + + "," + + selector_subscript + + "->" + + compressed_symbol + ) + selector_coordinates = np.concatenate( + ( + coordinates, + np.arange( + sector.active_count, + dtype=np.int32, + )[:, None], + ), + axis=1, + ) + selector_shape = ( + *sector.dense_shape, + sector.active_count, + ) + selector = sparse.BCOO( + ( + jnp.ones( + (sector.active_count,), + dtype=dtype, + ), + jnp.asarray( + selector_coordinates, + dtype=jnp.int32, + ), + ), + shape=selector_shape, + indices_sorted=True, + unique_indices=True, + ) + input_shapes.append(selector_shape) + + path, _ = oe.contract_path( + equation, + *input_shapes, + shapes=True, + optimize=strategy, + ) + serialized_path = tuple( + tuple(int(position) for position in step) + for step in path + ) + + def dense_equation(*operands): + return jnp.einsum( + equation, + *operands, + optimize=serialized_path, + ) + + sparse_equation = sparse.sparsify(dense_equation) + + def execute( + carry: Array | None, + tensors: tuple[Array, ...], + ) -> Array: + expected_tensor_count = len(program.input_shapes) - ( + 1 if program.carry_is_input else 0 + ) + if len(tensors) != expected_tensor_count: + raise ValueError( + "tensor count does not match native spatial role" + ) + operands: list[object] = [] + if program.carry_is_input: + if carry is None: + raise ValueError( + "native spatial role requires compressed carry" + ) + expected = (sector.active_count,) + if tuple(carry.shape) != expected: + raise ValueError( + f"compressed carry shape must be {expected}" + ) + operands.append( + sparse.BCOO( + (carry, coordinate_array), + shape=sector.dense_shape, + indices_sorted=True, + unique_indices=True, + ) + ) + elif carry is not None: + raise ValueError( + "native first role does not accept a carry" + ) + operands.extend(tensors) + if selector is not None: + operands.append(selector) + return sparse_equation(*operands) + + return Z2NativeContraction( + role=program.role, + equation=equation, + path=serialized_path, + input_boundary_is_sparse=program.carry_is_input, + output_boundary_is_compressed=has_boundary_output, + executor=execute, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tape.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tape.py new file mode 100644 index 000000000..9f65516ca --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tape.py @@ -0,0 +1,147 @@ +"""Reverse-mode residual inspection for VQE programs.""" + +from __future__ import annotations + +import re +from dataclasses import asdict, dataclass +from math import prod +from typing import Any, Callable + +import numpy as np +import jax +import jax.numpy as jnp +from jax._src.ad_checkpoint import saved_residuals +from jax.ad_checkpoint import checkpoint_name + + +_NAMED_PATTERN = re.compile(r"^named '([^']+)'") +_JITTED_PATTERN = re.compile(r"^output of jitted function '([^']+)'") +_OUTPUT_PATTERN = re.compile(r"^output of ([^ ]+)") + + +def name_residual(value: jax.Array, name: str) -> jax.Array: + """Attach a checkpoint-policy name, splitting complex values safely.""" + + if jnp.issubdtype(value.dtype, jnp.complexfloating): + real = checkpoint_name(jnp.real(value), f"{name}:real") + imag = checkpoint_name(jnp.imag(value), f"{name}:imag") + return jax.lax.complex(real, imag) + return checkpoint_name(value, name) + + +@dataclass(frozen=True) +class ResidualRecord: + """One value retained by JAX's reverse-mode transformation.""" + + shape: tuple[int, ...] + dtype: str + bytes: int + source: str + category: str + name: str | None + recomputable: bool + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + +@dataclass(frozen=True) +class ResidualProfile: + """Structured summary of the residuals saved for one differentiated call.""" + + records: tuple[ResidualRecord, ...] + + @property + def total_bytes(self) -> int: + return sum(record.bytes for record in self.records) + + @property + def recomputable_bytes(self) -> int: + return sum( + record.bytes for record in self.records if record.recomputable + ) + + def bytes_by_category(self) -> dict[str, int]: + totals: dict[str, int] = {} + for record in self.records: + totals[record.category] = ( + totals.get(record.category, 0) + record.bytes + ) + return dict( + sorted(totals.items(), key=lambda item: (-item[1], item[0])) + ) + + def bytes_by_name(self) -> dict[str, int]: + totals: dict[str, int] = {} + for record in self.records: + if record.name is None: + continue + totals[record.name] = totals.get(record.name, 0) + record.bytes + return dict( + sorted(totals.items(), key=lambda item: (-item[1], item[0])) + ) + + def to_dict(self, *, include_records: bool = False) -> dict[str, Any]: + payload: dict[str, Any] = { + "residual_count": len(self.records), + "total_bytes": self.total_bytes, + "recomputable_bytes": self.recomputable_bytes, + "bytes_by_category": self.bytes_by_category(), + "bytes_by_name": self.bytes_by_name(), + } + if include_records: + payload["records"] = [ + record.to_dict() for record in self.records + ] + return payload + + +def _classify_source(source: str) -> tuple[str, str | None, bool]: + named = _NAMED_PATTERN.match(source) + if named is not None: + return "named", named.group(1), True + jitted = _JITTED_PATTERN.match(source) + if jitted is not None: + return f"jitted:{jitted.group(1)}", None, True + output = _OUTPUT_PATTERN.match(source) + if output is not None: + primitive = output.group(1) + return f"primitive:{primitive}", None, True + if source.startswith("from the argument"): + return "argument", None, False + if source == "from a constant": + return "constant", None, False + if source == "from a literal": + return "literal", None, False + return "other", None, False + + +def profile_saved_residuals( + function: Callable[..., Any], + *args: Any, + **kwargs: Any, +) -> ResidualProfile: + """Trace a function's VJP and return byte-accounted saved residuals. + + JAX currently exposes a public printer but not a structured residual API. + VQETape therefore consumes the corresponding internal structured helper in + one compatibility boundary, isolated in this module. + """ + + records: list[ResidualRecord] = [] + for abstract_value, source in saved_residuals(function, *args, **kwargs): + shape = tuple(int(extent) for extent in abstract_value.shape) + byte_count = prod(shape) * np.dtype(abstract_value.dtype).itemsize + category, name, recomputable = _classify_source(source) + records.append( + ResidualRecord( + shape=shape, + dtype=str(np.dtype(abstract_value.dtype)), + bytes=int(byte_count), + source=source, + category=category, + name=name, + recomputable=recomputable, + ) + ) + return ResidualProfile(tuple(records)) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_baseline.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_baseline.py new file mode 100644 index 000000000..a1e831d09 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_baseline.py @@ -0,0 +1,466 @@ +"""Audited TensorCircuit-NG baselines for VQETape workloads.""" + +from __future__ import annotations + +import hashlib +import importlib.metadata +import json +import os +import resource +import sys +import time +from pathlib import Path +from typing import Any + +import numpy as np + +from vqetape.spec import TFIMVQESpec + + +class _TimedOptimizer: + """Measure path-search time without changing an optimizer's result.""" + + def __init__(self, optimizer: Any) -> None: + self.optimizer = optimizer + self.seconds = 0.0 + self.calls = 0 + + def __call__(self, *args: Any, **kwargs: Any) -> Any: + started = time.perf_counter() + try: + return self.optimizer(*args, **kwargs) + finally: + self.seconds += time.perf_counter() - started + self.calls += 1 + + +def matched_parameters( + spec: TFIMVQESpec, + seed: int, +) -> np.ndarray: + """Generate the exact parameter tensor used by VQETape workers.""" + + rng = np.random.default_rng(seed) + real_dtype = np.float32 if spec.dtype == "complex64" else np.float64 + return np.asarray( + rng.normal( + loc=0.0, + scale=0.1, + size=spec.parameter_shape, + ), + dtype=real_dtype, + ) + + +def build_protocol( + spec: TFIMVQESpec, + seed: int, +) -> dict[str, Any]: + """Return the comparison contract shared by VQETape and the baseline.""" + + return { + "hamiltonian": "-sum_i Z_i Z_{i+1} - sum_i X_i", + "coupling": spec.coupling, + "field": spec.field, + "boundary": "open", + "initial_state": spec.initial_state, + "ansatz": "plus_then_rzz_rx", + "gate_order": "rzz_then_rx_per_layer", + "nqubits": spec.nqubits, + "depth": spec.depth, + "dtype": spec.dtype, + "parameter_shape": list(spec.parameter_shape), + "active_parameter_count": spec.active_parameter_count, + "padding_parameter": "rzz[layer, nqubits - 1]", + "seed": seed, + "parameter_distribution": ( + "numpy.default_rng.normal(loc=0, scale=0.1)" + ), + "comparison_scope": "matched_rzz_rx_not_fig2_su4", + } + + +def _package_version(name: str) -> str | None: + try: + return importlib.metadata.version(name) + except importlib.metadata.PackageNotFoundError: + return None + + +def _peak_rss_bytes() -> int: + peak = int(resource.getrusage(resource.RUSAGE_SELF).ru_maxrss) + return peak if sys.platform == "darwin" else peak * 1024 + + +def _memory_analysis(compiled: Any) -> dict[str, int | float | None]: + try: + analysis = compiled.memory_analysis() + except (AttributeError, RuntimeError, TypeError): + return {} + if analysis is None: + return {} + result: dict[str, int | float | None] = {} + for name in dir(analysis): + if name.startswith("_"): + continue + try: + value = getattr(analysis, name) + except (AttributeError, RuntimeError): + continue + if callable(value) or not isinstance( + value, + (int, float, type(None)), + ): + continue + result[name] = value + return result + + +def _median_and_mad(values: list[float]) -> tuple[float, float]: + array = np.asarray(values, dtype=np.float64) + median = float(np.median(array)) + mad = float(np.median(np.abs(array - median))) + return median, mad + + +def _configure_tensor_network_precision(jax: Any, backend: Any) -> str: + """Make TensorNetwork honor JAX's requested matmul precision. + + TensorNetwork passes an explicit ``Precision.DEFAULT`` to every JAX + ``tensordot`` unless its cached backend is updated. That explicit value + takes precedence over ``JAX_DEFAULT_MATMUL_PRECISION`` and enables TF32 on + NVIDIA GPUs even when the surrounding JAX program requests ``highest``. + """ + + from tensornetwork.backends import backend_factory + + configured = jax.config.jax_default_matmul_precision + name = "default" if configured is None else str(configured).lower() + if name in {"highest", "float32"}: + precision = jax.lax.Precision.HIGHEST + elif name == "high": + precision = jax.lax.Precision.HIGH + else: + precision = jax.lax.Precision.DEFAULT + + backend.jax_precision = precision + tensor_network_backend = backend_factory.get_backend("jax") + tensor_network_backend.jax_precision = precision + return str(precision) + + +def _configure_contractor( + tc: Any, + contractor: str, +) -> tuple[dict[str, Any], _TimedOptimizer | None]: + if contractor == "greedy": + tc.set_contractor("greedy", preprocessing=True) + return ( + { + "name": "greedy", + "preprocessing": True, + "source": "TensorCircuit-NG built-in", + }, + None, + ) + if contractor != "omeco": + raise ValueError(f"unsupported contractor: {contractor}") + + try: + import omeco + except ImportError as exc: + raise RuntimeError( + "OMECo is required for contractor='omeco'; install " + "VQETape with the baseline optional dependencies" + ) from exc + + trials = 16 + iterations = 16 + betas = np.geomspace(0.1, 10.0, iterations).tolist() + score = omeco.ScoreFunction( + tc_weight=1.0, + sc_weight=0.0, + rw_weight=64.0, + sc_target=20.0, + ) + raw_optimizer = omeco.TreeSA( + ntrials=trials, + niters=iterations, + betas=betas, + score=score, + ) + optimizer = _TimedOptimizer( + tc.cons.OMEOptimizer(raw_optimizer) + ) + tc.set_contractor( + "custom", + optimizer=optimizer, + preprocessing=True, + ) + return ( + { + "name": "omeco", + "optimizer": "TreeSA", + "ntrials": trials, + "niters": iterations, + "betas": betas, + "score": { + "tc_weight": 1.0, + "sc_weight": 0.0, + "rw_weight": 64.0, + "sc_target": 20.0, + }, + "preprocessing": True, + "source": ( + "TensorCircuit-NG " + "examples/benchmark_jax_vs_torch_vqe.py" + ), + }, + optimizer, + ) + + +def _tfim_sparse_hamiltonian( + tc: Any, + spec: TFIMVQESpec, +) -> Any: + structures: list[list[int]] = [] + weights: list[float] = [] + for wire in range(spec.nqubits - 1): + term = [0] * spec.nqubits + term[wire] = 3 + term[wire + 1] = 3 + structures.append(term) + weights.append(-spec.coupling) + for wire in range(spec.nqubits): + term = [0] * spec.nqubits + term[wire] = 1 + structures.append(term) + weights.append(-spec.field) + + with tc.runtime_backend("numpy"): + coo = tc.quantum.PauliStringSum2COO( + structures, + weights, + numpy=True, + ) + return tc.backend.coo_sparse_matrix_from_numpy(coo) + + +def _value_function( + tc: Any, + spec: TFIMVQESpec, +) -> Any: + hamiltonian = _tfim_sparse_hamiltonian(tc, spec) + backend = tc.backend + + def value(params: Any) -> Any: + circuit = tc.Circuit(spec.nqubits) + if spec.initial_state == "plus": + for wire in range(spec.nqubits): + circuit.h(wire) + for layer in range(spec.depth): + for wire in range(spec.nqubits - 1): + circuit.rzz( + wire, + wire + 1, + theta=params[layer, 0, wire], + ) + for wire in range(spec.nqubits): + circuit.rx( + wire, + theta=params[layer, 1, wire], + ) + energy = tc.templates.measurements.operator_expectation( + circuit, + hamiltonian, + ) + return backend.real(energy) + + return value + + +def _read_reference(path: Path) -> tuple[float, np.ndarray, str]: + data = path.read_bytes() + payload = json.loads(data) + candidate = payload["candidate"] + return ( + float(candidate["energy"]), + np.asarray(candidate["gradient"]), + hashlib.sha256(data).hexdigest(), + ) + + +def run_baseline( + *, + spec: TFIMVQESpec, + seed: int, + warm_repeats: int, + contractor: str, + reference_path: Path | None = None, +) -> dict[str, Any]: + """Run one fresh-process TensorCircuit-NG matched baseline.""" + + if warm_repeats < 1: + raise ValueError("warm_repeats must be positive") + + try: + import jax + import jax.numpy as jnp + import tensorcircuit as tc + except ImportError as exc: + raise RuntimeError( + "TensorCircuit-NG baseline dependencies are missing; install " + "VQETape with the baseline optional dependencies" + ) from exc + + backend = tc.set_backend("jax") + tensor_network_precision = _configure_tensor_network_precision( + jax, + backend, + ) + tc.set_dtype(spec.dtype) + contractor_manifest, timed_optimizer = _configure_contractor( + tc, + contractor, + ) + params = jnp.asarray(matched_parameters(spec, seed)) + value = _value_function(tc, spec) + executable = backend.jit(backend.value_and_grad(value)) + + compile_started = time.perf_counter() + lowered = executable.lower(params) + compiled = lowered.compile() + compile_seconds = time.perf_counter() - compile_started + + first_started = time.perf_counter() + first_energy, first_gradient = compiled(params) + jax.block_until_ready((first_energy, first_gradient)) + first_execute_seconds = time.perf_counter() - first_started + + warm_times: list[float] = [] + energy = first_energy + gradient = first_gradient + for _ in range(warm_repeats): + started = time.perf_counter() + energy, gradient = compiled(params) + jax.block_until_ready((energy, gradient)) + warm_times.append(time.perf_counter() - started) + warm_median, warm_mad = _median_and_mad(warm_times) + + energy_value = float(np.asarray(energy)) + gradient_value = np.asarray(gradient) + correctness: dict[str, Any] | None = None + reference: dict[str, Any] | None = None + if reference_path is not None: + reference_energy, reference_gradient, reference_sha = ( + _read_reference(reference_path) + ) + energy_error = abs(energy_value - reference_energy) + gradient_denominator = max( + float(np.linalg.norm(reference_gradient)), + 1e-12, + ) + gradient_error = float( + np.linalg.norm(gradient_value - reference_gradient) + / gradient_denominator + ) + energy_tolerance = 1e-5 if spec.dtype == "complex64" else 1e-10 + gradient_tolerance = ( + 1e-5 if spec.dtype == "complex64" else 1e-9 + ) + correctness = { + "energy_abs_error": energy_error, + "gradient_relative_l2_error": gradient_error, + "energy_tolerance": energy_tolerance, + "gradient_tolerance": gradient_tolerance, + "tolerance_passed": ( + energy_error <= energy_tolerance + and gradient_error <= gradient_tolerance + ), + } + reference = { + "path": str(reference_path), + "sha256": reference_sha, + "energy": reference_energy, + "gradient_l2_norm": float( + np.linalg.norm(reference_gradient) + ), + } + + path_search_seconds = ( + timed_optimizer.seconds + if timed_optimizer is not None + else None + ) + path_search_calls = ( + timed_optimizer.calls + if timed_optimizer is not None + else None + ) + return { + "schema_version": 1, + "implementation": { + "name": "TensorCircuit-NG", + "package": "tensorcircuit-ng", + "source_repository": ( + "https://github.com/tensorcircuit/tensorcircuit-ng" + ), + "official_example": ( + "examples/benchmark_jax_vs_torch_vqe.py" + ), + "versions": { + "tensorcircuit-ng": _package_version( + "tensorcircuit-ng" + ), + "tensornetwork-ng": _package_version( + "tensornetwork-ng" + ), + "jax": _package_version("jax"), + "jaxlib": _package_version("jaxlib"), + "numpy": _package_version("numpy"), + "omeco": _package_version("omeco"), + "cotengra": _package_version("cotengra"), + }, + }, + "protocol": build_protocol(spec, seed), + "contractor": { + **contractor_manifest, + "path_search_seconds": path_search_seconds, + "path_search_calls": path_search_calls, + }, + "runtime": { + "jax_backend": jax.default_backend(), + "jax_devices": [str(device) for device in jax.devices()], + "jax_default_matmul_precision": os.environ.get( + "JAX_DEFAULT_MATMUL_PRECISION" + ), + "tensor_network_jax_precision": ( + tensor_network_precision + ), + "python": sys.version, + "pid": os.getpid(), + }, + "timings": { + "compile_seconds": compile_seconds, + "compile_includes_path_search": True, + "first_execute_seconds": first_execute_seconds, + "warm_seconds": warm_times, + "warm_seconds_median": warm_median, + "warm_seconds_mad": warm_mad, + }, + "memory": { + "peak_rss_bytes": _peak_rss_bytes(), + "jax_memory_analysis": _memory_analysis(compiled), + "nvml_job_peak_mib": None, + }, + "result": { + "energy": energy_value, + "gradient": gradient_value.tolist(), + "gradient_l2_norm": float( + np.linalg.norm(gradient_value) + ), + }, + "reference": reference, + "correctness": correctness, + } diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_baseline_cli.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_baseline_cli.py new file mode 100644 index 000000000..96fa0fdf9 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_baseline_cli.py @@ -0,0 +1,138 @@ +"""CLI for the audited TensorCircuit-NG matched baseline.""" + +from __future__ import annotations + +import argparse +import json +import os +import tempfile +from pathlib import Path + +from vqetape.spec import TFIMVQESpec +from vqetape.tensorcircuit_baseline import run_baseline + + +def _parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + description=( + "Benchmark TensorCircuit-NG on the exact VQETape " + "TFIM RZZ-RX workload." + ) + ) + parser.add_argument("--nqubits", type=int, default=10) + parser.add_argument("--depth", type=int, default=4) + parser.add_argument("--coupling", type=float, default=1.0) + parser.add_argument("--field", type=float, default=1.0) + parser.add_argument( + "--initial-state", + choices=("zero", "plus"), + default="plus", + ) + parser.add_argument( + "--dtype", + choices=("complex64", "complex128"), + default="complex64", + ) + parser.add_argument("--seed", type=int, default=33) + parser.add_argument("--warm-repeats", type=int, default=5) + parser.add_argument("--expected-steps", type=int, default=100) + parser.add_argument( + "--contractor", + choices=("greedy", "omeco"), + default="omeco", + ) + parser.add_argument("--reference", type=Path) + parser.add_argument("--output", required=True, type=Path) + return parser + + +def _write_json_atomic(path: Path, payload: dict) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + temporary: Path | None = None + try: + with tempfile.NamedTemporaryFile( + mode="w", + encoding="utf-8", + dir=path.parent, + prefix=f".{path.name}.", + suffix=".tmp", + delete=False, + ) as handle: + json.dump(payload, handle, indent=2, allow_nan=False) + handle.write("\n") + temporary = Path(handle.name) + os.replace(temporary, path) + except BaseException: + if temporary is not None: + temporary.unlink(missing_ok=True) + raise + + +def main(argv: list[str] | None = None) -> int: + args = _parser().parse_args(argv) + if args.expected_steps < 1: + raise ValueError("expected_steps must be positive") + report = run_baseline( + spec=TFIMVQESpec( + nqubits=args.nqubits, + depth=args.depth, + coupling=args.coupling, + field=args.field, + initial_state=args.initial_state, + dtype=args.dtype, + ), + seed=args.seed, + warm_repeats=args.warm_repeats, + contractor=args.contractor, + reference_path=args.reference, + ) + timings = report["timings"] + objective_seconds = ( + timings["compile_seconds"] + + timings["first_execute_seconds"] + + args.expected_steps * timings["warm_seconds_median"] + ) + report["objective"] = { + "expected_vqe_steps": args.expected_steps, + "definition": ( + "compile + first_execute + expected_steps * warm_median" + ), + "seconds": objective_seconds, + } + report["runtime"].update( + { + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "slurm_node": os.environ.get("SLURMD_NODENAME"), + "cuda_visible_devices": os.environ.get( + "CUDA_VISIBLE_DEVICES" + ), + } + ) + _write_json_atomic(args.output, report) + + correctness = report["correctness"] + correctness_label = ( + "not-checked" + if correctness is None + else ( + "pass" + if correctness["tolerance_passed"] + else "fail" + ) + ) + print( + f"backend={report['runtime']['jax_backend']} " + f"contractor={args.contractor} " + f"compile={timings['compile_seconds']:.6f}s " + f"first={timings['first_execute_seconds']:.6f}s " + f"warm={timings['warm_seconds_median']:.6f}s " + f"correctness={correctness_label}", + flush=True, + ) + if correctness is not None and not correctness["tolerance_passed"]: + return 2 + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_fig2.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_fig2.py new file mode 100644 index 000000000..f7993850e --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_fig2.py @@ -0,0 +1,554 @@ +"""Audited TensorCircuit-NG implementation of the paper Fig. 2 protocol. + +The large benchmark uses a two-stage workflow: search for a sliced +contraction path, then execute value-and-gradient calls from that path. Path +artifacts are stored as JSON instead of the pickle format used by the upstream +example so that accepting a path file never executes serialized Python code. +""" + +from __future__ import annotations + +import hashlib +import importlib.metadata +import json +import os +import resource +import sys +import time +from dataclasses import dataclass +from typing import Any + +import numpy as np + +from vqetape.tensorcircuit_baseline import ( + _configure_tensor_network_precision, +) + + +@dataclass(frozen=True) +class Fig2Spec: + """Physical and initialization inputs for the Fig. 2 VQE network.""" + + nqubits: int = 32 + depth: int = 16 + coupling: float = 1.0 + field: float = 1.0 + dtype: str = "complex64" + seed: int = 42 + parameter_scale: float = 0.1 + + def __post_init__(self) -> None: + if self.nqubits < 2: + raise ValueError("nqubits must be at least 2") + if self.depth < 1: + raise ValueError("depth must be positive") + if self.dtype not in {"complex64", "complex128"}: + raise ValueError("dtype must be complex64 or complex128") + if self.parameter_scale <= 0: + raise ValueError("parameter_scale must be positive") + + @property + def parameter_shape(self) -> tuple[int, int, int]: + return (self.depth, self.nqubits - 1, 15) + + @property + def parameter_count(self) -> int: + return 15 * self.depth * (self.nqubits - 1) + + +def fig2_cotengra_options( + *, + max_repeats: int = 640, + target_size: int = 2**29, + parallel: int = 1, +) -> dict[str, Any]: + """Return the paper's path score and slicing policy. + + Cotengra 0.8.2 parses ``combo-640`` as + ``log(FLOPS + 640 * WRITE)``. The logarithm is monotone, so it has the + exact optimizer ordering reported by the paper. + """ + + if max_repeats < 1: + raise ValueError("max_repeats must be positive") + if target_size < 2: + raise ValueError("target_size must be at least 2") + if parallel < 1: + raise ValueError("parallel must be positive") + return { + "slicing_reconf_opts": {"target_size": target_size}, + "max_repeats": max_repeats, + "minimize": "combo-640", + "parallel": parallel, + # Headless Slurm environments should not require cotengra's optional + # tqdm dependency merely to render search progress. + "progbar": False, + } + + +def build_fig2_protocol( + spec: Fig2Spec, + *, + max_repeats: int = 640, + target_size: int = 2**29, + parallel: int = 1, +) -> dict[str, Any]: + """Build a machine-readable statement of the reproduced protocol.""" + + options = fig2_cotengra_options( + max_repeats=max_repeats, + target_size=target_size, + parallel=parallel, + ) + return { + "paper": { + "title": ( + "TensorCircuit-NG: A Universal, Composable, and " + "Scalable Platform for Quantum Computing and Quantum " + "Simulation" + ), + "arxiv": "2602.14167", + "figure": 2, + "reported_hardware": "NVIDIA H200 141GB", + "reported_single_gpu_n32_l16_step_seconds": 17.86, + "reported_eight_gpu_n32_l16_step_seconds": 2.38, + }, + "hamiltonian": { + "paper_form": "-sum_i Z_i Z_{i+1} - sum_i X_i", + "implementation": ( + "TensorNetwork FiniteTFI rotated-axis open-boundary MPO" + ), + "coupling": spec.coupling, + "field": spec.field, + "boundary": "open", + }, + "initial_state": "plus", + "ansatz": { + "gate": "TensorCircuit-NG su4", + "gate_parameterization": ( + "exp(-i * sum_k theta_k P_k), 15 nonidentity " + "two-qubit Pauli generators" + ), + "layout": ( + "ladder: adjacent pairs (0,1), (1,2), ..., " + "(nqubits-2,nqubits-1) per layer" + ), + "nqubits": spec.nqubits, + "depth": spec.depth, + "parameter_shape": list(spec.parameter_shape), + "parameter_count": spec.parameter_count, + "parameter_count_formula": "15 * depth * (nqubits - 1)", + }, + "numerics": { + "dtype": spec.dtype, + "seed": spec.seed, + "initialization": "jax.random.normal(PRNGKey(seed)) * scale", + "parameter_scale": spec.parameter_scale, + "precision": "highest", + "seed_boundary": ( + "the paper does not state a Fig. 2 seed; seed 42 follows " + "the upstream DistributedContractor VQE example" + ), + }, + "contractor": { + "engine": "TensorCircuit-NG DistributedContractor", + "find_execute_workflow": True, + "max_repeats": max_repeats, + "minimize": options["minimize"], + "score": "FLOPS + 640 * WRITE", + "slicing_target_elements": target_size, + "parallel_path_workers": parallel, + "slicing_boundary": ( + "the paper explicitly reports 2^29 elements for the " + "40-qubit case; this runner makes the value explicit for " + "every run" + ), + }, + "scope": "paper_fig2_protocol_not_matched_rzz_rx_baseline", + } + + +def protocol_sha256(protocol: dict[str, Any]) -> str: + data = json.dumps( + protocol, + sort_keys=True, + separators=(",", ":"), + allow_nan=False, + ).encode("utf-8") + return hashlib.sha256(data).hexdigest() + + +def _package_version(name: str) -> str | None: + try: + return importlib.metadata.version(name) + except importlib.metadata.PackageNotFoundError: + return None + + +def _versions() -> dict[str, str | None]: + return { + "tensorcircuit-ng": _package_version("tensorcircuit-ng"), + "tensornetwork-ng": _package_version("tensornetwork-ng"), + "jax": _package_version("jax"), + "jaxlib": _package_version("jaxlib"), + "cotengra": _package_version("cotengra"), + "kahypar": _package_version("kahypar"), + "numpy": _package_version("numpy"), + } + + +def _peak_rss_bytes() -> int: + peak = int(resource.getrusage(resource.RUSAGE_SELF).ru_maxrss) + return peak if sys.platform == "darwin" else peak * 1024 + + +def _median_and_mad(values: list[float]) -> tuple[float, float]: + array = np.asarray(values, dtype=np.float64) + median = float(np.median(array)) + return median, float(np.median(np.abs(array - median))) + + +def _runtime(spec: Fig2Spec) -> tuple[Any, Any, Any, Any, str]: + try: + import jax + import jax.numpy as jnp + import tensorcircuit as tc + import tensornetwork as tn + except ImportError as exc: + raise RuntimeError( + "Fig. 2 dependencies are missing; install VQETape with the " + "baseline optional dependencies" + ) from exc + + backend = tc.set_backend("jax") + precision = _configure_tensor_network_precision(jax, backend) + tc.set_dtype(spec.dtype) + if spec.dtype == "complex128" and not jax.config.jax_enable_x64: + raise RuntimeError( + "complex128 requires JAX_ENABLE_X64=1 before importing JAX" + ) + return jax, jnp, tc, tn, precision + + +def _parameters(jax: Any, jnp: Any, spec: Fig2Spec) -> Any: + dtype = jnp.float32 if spec.dtype == "complex64" else jnp.float64 + return ( + jax.random.normal( + jax.random.PRNGKey(spec.seed), + shape=spec.parameter_shape, + dtype=dtype, + ) + * spec.parameter_scale + ) + + +def _nodes_fn(tc: Any, tn: Any, spec: Fig2Spec) -> Any: + dtype = np.complex64 if spec.dtype == "complex64" else np.complex128 + # This is the exact MPO construction used by the upstream + # DistributedContractor VQE example. It is a rotated-axis representation + # of the open-boundary TFIM stated in the paper. + tn_mpo = tn.matrixproductstates.mpo.FiniteTFI( + np.full(spec.nqubits - 1, spec.coupling), + np.full(spec.nqubits, -spec.field), + dtype=dtype, + ) + mpo = tc.quantum.tn2qop(tn_mpo) + + def build_nodes(params: Any) -> list[Any]: + circuit = tc.Circuit(spec.nqubits) + circuit.h(range(spec.nqubits)) + for layer in range(spec.depth): + for wire in range(spec.nqubits - 1): + circuit.su4( + wire, + wire + 1, + theta=params[layer, wire], + ) + state = circuit.get_quvector() + return (state.adjoint() @ mpo @ state).nodes + + return build_nodes + + +def _encode_tree_data(tree_data: dict[str, Any]) -> dict[str, Any]: + """Normalize a cotengra tree to JSON without losing index types.""" + + return { + "inputs": [list(term) for term in tree_data["inputs"]], + "output": list(tree_data["output"]), + "size_dict": [ + [index, int(size)] + for index, size in tree_data["size_dict"].items() + ], + "path": [list(pair) for pair in tree_data["path"]], + # DistributedContractor only consumes the sliced index keys when it + # restores a path. Cotengra's SliceInfo values are intentionally not + # serialized. + "sliced_indices": list(tree_data["sliced_inds"]), + } + + +def _decode_tree_data(encoded: dict[str, Any]) -> dict[str, Any]: + required = { + "inputs", + "output", + "size_dict", + "path", + "sliced_indices", + } + if set(encoded) != required: + raise ValueError("path tree_data has unexpected fields") + return { + "inputs": [tuple(term) for term in encoded["inputs"]], + "output": tuple(encoded["output"]), + "size_dict": dict(encoded["size_dict"]), + "path": [tuple(pair) for pair in encoded["path"]], + "sliced_inds": { + index: None for index in encoded["sliced_indices"] + }, + } + + +def _tree_stats(tree_data: dict[str, Any]) -> dict[str, int | float]: + import cotengra as ctg + + tree = ctg.ContractionTree.from_path( + inputs=tree_data["inputs"], + output=tree_data["output"], + size_dict=tree_data["size_dict"], + path=tree_data["path"], + ) + for index in tree_data["sliced_inds"]: + tree.remove_ind_(index) + stats = tree.contract_stats() + return { + "slices": int(tree.nslices), + "flops": int(stats["flops"]), + "write": int(stats["write"]), + "max_size_elements": int(stats["size"]), + "arithmetic_intensity": float(tree.arithmetic_intensity()), + } + + +def search_fig2_path( + spec: Fig2Spec, + *, + max_repeats: int = 640, + target_size: int = 2**29, + parallel: int = 1, +) -> dict[str, Any]: + """Search one path and return a safe, self-describing JSON payload.""" + + jax, jnp, tc, tn, precision = _runtime(spec) + from tensorcircuit.experimental import DistributedContractor + + protocol = build_fig2_protocol( + spec, + max_repeats=max_repeats, + target_size=target_size, + parallel=parallel, + ) + params = _parameters(jax, jnp, spec) + nodes_fn = _nodes_fn(tc, tn, spec) + options = fig2_cotengra_options( + max_repeats=max_repeats, + target_size=target_size, + parallel=parallel, + ) + started = time.perf_counter() + tree_data = DistributedContractor._get_tree_data( + nodes_fn, + params, + options, + ) + path_seconds = time.perf_counter() - started + return { + "schema_version": 1, + "artifact_type": "tensorcircuit_ng_fig2_path", + "protocol": protocol, + "protocol_sha256": protocol_sha256(protocol), + "implementation": { + "name": "TensorCircuit-NG DistributedContractor", + "source_repository": ( + "https://github.com/tensorcircuit/tensorcircuit-ng" + ), + "upstream_example": "examples/distributed_interface_vqe.py", + "versions": _versions(), + }, + "runtime": { + "jax_backend": jax.default_backend(), + "jax_devices": [str(device) for device in jax.devices()], + "jax_default_matmul_precision": os.environ.get( + "JAX_DEFAULT_MATMUL_PRECISION" + ), + "tensor_network_jax_precision": precision, + "python": sys.version, + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "slurm_node": os.environ.get("SLURMD_NODENAME"), + }, + "path_search": { + "seconds": path_seconds, + "options": options, + "tree_stats": _tree_stats(tree_data), + }, + "tree_data": _encode_tree_data(tree_data), + } + + +def _spec_from_protocol(protocol: dict[str, Any]) -> Fig2Spec: + ansatz = protocol["ansatz"] + numerics = protocol["numerics"] + hamiltonian = protocol["hamiltonian"] + return Fig2Spec( + nqubits=int(ansatz["nqubits"]), + depth=int(ansatz["depth"]), + coupling=float(hamiltonian["coupling"]), + field=float(hamiltonian["field"]), + dtype=str(numerics["dtype"]), + seed=int(numerics["seed"]), + parameter_scale=float(numerics["parameter_scale"]), + ) + + +def validate_path_payload(payload: dict[str, Any]) -> None: + if payload.get("schema_version") != 1: + raise ValueError("unsupported Fig. 2 path schema") + if payload.get("artifact_type") != "tensorcircuit_ng_fig2_path": + raise ValueError("not a TensorCircuit-NG Fig. 2 path artifact") + protocol = payload.get("protocol") + if not isinstance(protocol, dict): + raise ValueError("path artifact has no protocol") + if payload.get("protocol_sha256") != protocol_sha256(protocol): + raise ValueError("path protocol checksum mismatch") + spec = _spec_from_protocol(protocol) + if list(spec.parameter_shape) != protocol["ansatz"]["parameter_shape"]: + raise ValueError("path parameter shape is inconsistent") + if spec.parameter_count != protocol["ansatz"]["parameter_count"]: + raise ValueError("path parameter count is inconsistent") + tree_data = payload.get("tree_data") + if not isinstance(tree_data, dict): + raise ValueError("path artifact has no tree_data") + _decode_tree_data(tree_data) + + +def run_fig2_path( + payload: dict[str, Any], + *, + warm_repeats: int = 3, + verify_direct: bool = False, +) -> dict[str, Any]: + """Execute a searched path and optionally compare a small dense control.""" + + if warm_repeats < 1: + raise ValueError("warm_repeats must be positive") + validate_path_payload(payload) + spec = _spec_from_protocol(payload["protocol"]) + if verify_direct and spec.nqubits > 10: + raise ValueError("direct verification is limited to at most 10 qubits") + + jax, jnp, tc, tn, precision = _runtime(spec) + from tensorcircuit.experimental import DistributedContractor + + params = _parameters(jax, jnp, spec) + nodes_fn = _nodes_fn(tc, tn, spec) + tree_data = _decode_tree_data(payload["tree_data"]) + contractor = DistributedContractor( + nodes_fn=nodes_fn, + params=params, + tree_data=tree_data, + ) + + first_started = time.perf_counter() + energy, gradient = contractor.value_and_grad(params) + jax.block_until_ready((energy, gradient)) + first_seconds = time.perf_counter() - first_started + + warm_times: list[float] = [] + for _ in range(warm_repeats): + started = time.perf_counter() + energy, gradient = contractor.value_and_grad(params) + jax.block_until_ready((energy, gradient)) + warm_times.append(time.perf_counter() - started) + warm_median, warm_mad = _median_and_mad(warm_times) + + energy_value = float(np.asarray(energy)) + gradient_value = np.asarray(gradient) + correctness: dict[str, Any] | None = None + if verify_direct: + backend = tc.backend + + def direct_value(values: Any) -> Any: + nodes = nodes_fn(values) + contracted = tc.cons.contractor( + nodes, + output_edge_order=tn.get_all_dangling(nodes), + ) + return backend.real(backend.sum(contracted.tensor)) + + direct = backend.jit(backend.value_and_grad(direct_value)) + reference_energy, reference_gradient = direct(params) + jax.block_until_ready((reference_energy, reference_gradient)) + reference_energy_value = float(np.asarray(reference_energy)) + reference_gradient_value = np.asarray(reference_gradient) + energy_error = abs(energy_value - reference_energy_value) + denominator = max( + float(np.linalg.norm(reference_gradient_value)), + 1e-12, + ) + gradient_error = float( + np.linalg.norm(gradient_value - reference_gradient_value) + / denominator + ) + tolerance = 1e-5 if spec.dtype == "complex64" else 1e-9 + correctness = { + "reference": "direct unsliced contraction of identical nodes", + "energy_abs_error": energy_error, + "gradient_relative_l2_error": gradient_error, + "tolerance": tolerance, + "tolerance_passed": ( + energy_error <= tolerance and gradient_error <= tolerance + ), + } + + return { + "schema_version": 1, + "artifact_type": "tensorcircuit_ng_fig2_run", + "protocol": payload["protocol"], + "protocol_sha256": payload["protocol_sha256"], + "path_tree_stats": _tree_stats(tree_data), + "runtime": { + "jax_backend": jax.default_backend(), + "jax_devices": [str(device) for device in jax.devices()], + "jax_default_matmul_precision": os.environ.get( + "JAX_DEFAULT_MATMUL_PRECISION" + ), + "tensor_network_jax_precision": precision, + "python": sys.version, + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "slurm_node": os.environ.get("SLURMD_NODENAME"), + "cuda_visible_devices": os.environ.get( + "CUDA_VISIBLE_DEVICES" + ), + "versions": _versions(), + }, + "timings": { + "first_value_and_grad_seconds": first_seconds, + "first_call_includes_jit_compile": True, + "warm_value_and_grad_seconds": warm_times, + "warm_value_and_grad_seconds_median": warm_median, + "warm_value_and_grad_seconds_mad": warm_mad, + }, + "memory": { + "peak_rss_bytes": _peak_rss_bytes(), + "nvml_job_peak_mib": None, + }, + "result": { + "energy": energy_value, + "gradient_shape": list(gradient_value.shape), + "gradient_l2_norm": float(np.linalg.norm(gradient_value)), + "gradient_sha256": hashlib.sha256( + np.ascontiguousarray(gradient_value).tobytes() + ).hexdigest(), + }, + "correctness": correctness, + } diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_fig2_cli.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_fig2_cli.py new file mode 100644 index 000000000..0f107ff42 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tensorcircuit_fig2_cli.py @@ -0,0 +1,172 @@ +"""CLI for the TensorCircuit-NG paper Fig. 2 protocol.""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +from vqetape.tensorcircuit_baseline_cli import _write_json_atomic +from vqetape.tensorcircuit_fig2 import ( + Fig2Spec, + build_fig2_protocol, + protocol_sha256, + run_fig2_path, + search_fig2_path, + validate_path_payload, +) + + +def _add_protocol_arguments(parser: argparse.ArgumentParser) -> None: + parser.add_argument("--nqubits", type=int, default=32) + parser.add_argument("--depth", type=int, default=16) + parser.add_argument("--coupling", type=float, default=1.0) + parser.add_argument("--field", type=float, default=1.0) + parser.add_argument( + "--dtype", + choices=("complex64", "complex128"), + default="complex64", + ) + parser.add_argument("--seed", type=int, default=42) + parser.add_argument("--parameter-scale", type=float, default=0.1) + parser.add_argument("--max-repeats", type=int, default=640) + parser.add_argument("--target-size-log2", type=int, default=29) + parser.add_argument( + "--parallel", + type=int, + default=1, + help=( + "path-search workers; 1 avoids forking after JAX starts " + "threads" + ), + ) + + +def _parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + description=( + "Declare, search, and execute the TensorCircuit-NG paper " + "Fig. 2 SU(4) ladder protocol." + ) + ) + commands = parser.add_subparsers(dest="command", required=True) + + manifest = commands.add_parser( + "manifest", + help="write the protocol without importing optional dependencies", + ) + _add_protocol_arguments(manifest) + manifest.add_argument("--output", required=True, type=Path) + + path = commands.add_parser( + "path", + help="search and write a safe JSON contraction path", + ) + _add_protocol_arguments(path) + path.add_argument("--output", required=True, type=Path) + + run = commands.add_parser( + "run", + help="execute value-and-gradient calls from a JSON path", + ) + run.add_argument("--path", required=True, type=Path) + run.add_argument("--output", required=True, type=Path) + run.add_argument("--warm-repeats", type=int, default=3) + run.add_argument("--verify-direct", action="store_true") + return parser + + +def _spec(args: argparse.Namespace) -> Fig2Spec: + return Fig2Spec( + nqubits=args.nqubits, + depth=args.depth, + coupling=args.coupling, + field=args.field, + dtype=args.dtype, + seed=args.seed, + parameter_scale=args.parameter_scale, + ) + + +def _target_size(args: argparse.Namespace) -> int: + if not 1 <= args.target_size_log2 <= 60: + raise ValueError("target_size_log2 must be between 1 and 60") + return 2**args.target_size_log2 + + +def _read_path(path: Path) -> dict: + if path.stat().st_size > 100 * 1024 * 1024: + raise ValueError("path artifact exceeds the 100 MiB safety limit") + payload = json.loads(path.read_text(encoding="utf-8")) + if not isinstance(payload, dict): + raise ValueError("path artifact must be a JSON object") + validate_path_payload(payload) + return payload + + +def main(argv: list[str] | None = None) -> int: + args = _parser().parse_args(argv) + if args.command == "manifest": + spec = _spec(args) + protocol = build_fig2_protocol( + spec, + max_repeats=args.max_repeats, + target_size=_target_size(args), + parallel=args.parallel, + ) + payload = { + "schema_version": 1, + "artifact_type": "tensorcircuit_ng_fig2_manifest", + "protocol": protocol, + "protocol_sha256": protocol_sha256(protocol), + } + _write_json_atomic(args.output, payload) + print( + f"manifest={args.output} " + f"parameters={spec.parameter_count}", + flush=True, + ) + return 0 + + if args.command == "path": + payload = search_fig2_path( + _spec(args), + max_repeats=args.max_repeats, + target_size=_target_size(args), + parallel=args.parallel, + ) + _write_json_atomic(args.output, payload) + stats = payload["path_search"]["tree_stats"] + print( + f"path={args.output} slices={stats['slices']} " + f"search={payload['path_search']['seconds']:.6f}s", + flush=True, + ) + return 0 + + payload = _read_path(args.path) + report = run_fig2_path( + payload, + warm_repeats=args.warm_repeats, + verify_direct=args.verify_direct, + ) + _write_json_atomic(args.output, report) + correctness = report["correctness"] + label = ( + "not-checked" + if correctness is None + else "pass" if correctness["tolerance_passed"] else "fail" + ) + print( + f"run={args.output} " + f"warm={report['timings']['warm_value_and_grad_seconds_median']:.6f}s " + f"correctness={label}", + flush=True, + ) + if correctness is not None and not correctness["tolerance_passed"]: + return 2 + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tfim_mpo.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tfim_mpo.py new file mode 100644 index 000000000..9a0ff7197 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tfim_mpo.py @@ -0,0 +1,81 @@ +"""Exact matrix-product-operator tensors for the open-boundary TFIM.""" + +from __future__ import annotations + +import jax.numpy as jnp +from jax import Array + +from vqetape.spec import TFIMVQESpec + + +def _dtype(spec: TFIMVQESpec): + return jnp.complex64 if spec.dtype == "complex64" else jnp.complex128 + + +def _paulis(dtype): + identity = jnp.eye(2, dtype=dtype) + pauli_x = jnp.asarray([[0, 1], [1, 0]], dtype=dtype) + pauli_z = jnp.asarray([[1, 0], [0, -1]], dtype=dtype) + return identity, pauli_x, pauli_z + + +def tfim_mpo_tensors(spec: TFIMVQESpec) -> tuple[Array, ...]: + """Return the exact bond-dimension-3 TFIM MPO.""" + + dtype = _dtype(spec) + identity, pauli_x, pauli_z = _paulis(dtype) + first = jnp.stack( + ( + -spec.field * pauli_x, + -spec.coupling * pauli_z, + identity, + ), + axis=0, + ) + bulk = jnp.zeros((3, 3, 2, 2), dtype=dtype) + bulk = bulk.at[0, 0].set(identity) + bulk = bulk.at[1, 0].set(pauli_z) + bulk = bulk.at[2, 0].set(-spec.field * pauli_x) + bulk = bulk.at[2, 1].set(-spec.coupling * pauli_z) + bulk = bulk.at[2, 2].set(identity) + last = jnp.stack( + ( + identity, + pauli_z, + -spec.field * pauli_x, + ), + axis=0, + ) + return (first,) + (bulk,) * (spec.nqubits - 2) + (last,) + + +def _kron_product(operators: list[Array]) -> Array: + result = operators[0] + for operator in operators[1:]: + result = jnp.kron(result, operator) + return result + + +def dense_tfim_hamiltonian(spec: TFIMVQESpec) -> Array: + """Construct a small-system dense TFIM Hamiltonian oracle.""" + + dtype = _dtype(spec) + identity, pauli_x, pauli_z = _paulis(dtype) + dimension = 1 << spec.nqubits + hamiltonian = jnp.zeros((dimension, dimension), dtype=dtype) + for wire in range(spec.nqubits - 1): + operators = [identity] * spec.nqubits + operators[wire] = pauli_z + operators[wire + 1] = pauli_z + hamiltonian = ( + hamiltonian + - spec.coupling * _kron_product(operators) + ) + for wire in range(spec.nqubits): + operators = [identity] * spec.nqubits + operators[wire] = pauli_x + hamiltonian = ( + hamiltonian + - spec.field * _kron_product(operators) + ) + return hamiltonian diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_candidates.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_candidates.py new file mode 100644 index 000000000..a9d00419f --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_candidates.py @@ -0,0 +1,235 @@ +"""Candidate generation and fresh-process search for direct-TN programs.""" + +from __future__ import annotations + +from dataclasses import dataclass, replace +from typing import Any + +import numpy as np + +from vqetape.benchmark import benchmark_candidate, benchmark_tn_candidate +from vqetape.selection import ( + CandidateResult, + correctness_error, + pareto_frontier, + select_for_horizon, +) +from vqetape.spec import ( + CompileRequest, + CorrectnessTolerance, + GateRepresentation, + HamiltonianRepresentation, + ProgramConfig, + TensorProgramConfig, +) +from vqetape.tn_program import ContractionProgram, PathStrategy, plan_contraction +from vqetape.tn_template import ( + build_expectation_template, + build_mpo_expectation_template, +) + + +@dataclass(frozen=True) +class TensorSearchResult: + request: CompileRequest + selected: CandidateResult + pareto: tuple[CandidateResult, ...] + candidates: tuple[CandidateResult, ...] + + def to_report(self) -> dict[str, Any]: + return { + "request": self.request.to_dict(), + "selected": self.selected.to_dict(), + "pareto": [item.to_dict() for item in self.pareto], + "candidates": [item.to_dict() for item in self.candidates], + "measurement_notes": { + "peak_rss": "process peak RSS, not GPU peak memory", + "jax_memory_analysis": ( + "compiler-reported executable fields when available" + ), + "residual_profile": ( + "byte-accounted values retained by JAX reverse mode; " + "this is logical tape size, not liveness-aware peak memory" + ), + }, + } + + +def _budgeted_contraction_names( + program: ContractionProgram, + fractions: tuple[float, ...] = (0.0, 0.5, 1.0), +) -> tuple[tuple[str, ...], ...]: + """Choose largest-first named contraction tapes at several byte budgets.""" + + step_bytes = tuple(enumerate(program.step_output_bytes)) + if not step_bytes: + return ((),) + ranked = sorted(step_bytes, key=lambda item: (-item[1], item[0])) + total_bytes = sum(program.step_output_bytes) + choices: set[tuple[str, ...]] = set() + for fraction in fractions: + if fraction < 0 or fraction > 1: + raise ValueError("tape budget fractions must lie in [0, 1]") + budget = int(total_bytes * fraction) + used = 0 + saved: list[str] = [] + for step_index, byte_count in ranked: + if used + byte_count <= budget: + base = ( + f"contract:{step_index}:" + f"elements{program.steps[step_index].output_elements}" + ) + saved.extend((f"{base}:real", f"{base}:imag")) + used += byte_count + choices.add(tuple(sorted(saved))) + return tuple(sorted(choices, key=lambda names: (len(names), names))) + + +def enumerate_tn_candidates( + request: CompileRequest, + strategies: tuple[PathStrategy, ...] = ( + "greedy", + "random-greedy", + "auto-hq", + ), + gate_representations: tuple[GateRepresentation, ...] = ("dense",), + hamiltonian_representations: tuple[HamiltonianRepresentation, ...] = ( + "pauli_sum", + "mpo", + ), +) -> tuple[TensorProgramConfig, ...]: + """Generate joint Hamiltonian, path, and named-tape candidates.""" + + candidates: set[TensorProgramConfig] = set() + for gate_representation in gate_representations: + for hamiltonian_representation in hamiltonian_representations: + template = ( + build_expectation_template( + request.spec, + gate_representation=gate_representation, + ) + if hamiltonian_representation == "pauli_sum" + else build_mpo_expectation_template( + request.spec, + gate_representation=gate_representation, + ) + ) + for strategy in strategies: + program = plan_contraction(template, strategy) + candidates.add( + TensorProgramConfig( + strategy, + "none", + path=program.path, + gate_representation=gate_representation, + hamiltonian_representation=( + hamiltonian_representation + ), + ) + ) + for save_names in _budgeted_contraction_names(program): + candidates.add( + TensorProgramConfig( + strategy, + "named", + path=program.path, + save_names=save_names, + gate_representation=gate_representation, + hamiltonian_representation=( + hamiltonian_representation + ), + ) + ) + return tuple(sorted(candidates, key=lambda item: item.label)) + + +def _validate( + candidate: CandidateResult, + reference: CandidateResult, + tolerance: CorrectnessTolerance, +) -> CandidateResult: + if not candidate.valid: + return candidate + if candidate.energy is None or candidate.gradient is None: + return replace( + candidate, + valid=False, + failure="worker result did not contain energy and gradient", + ) + energy_error, gradient_error = correctness_error( + candidate.energy, + candidate.gradient, + reference.energy, + reference.gradient, + ) + valid = bool( + np.isfinite(energy_error) + and np.isfinite(gradient_error) + and energy_error <= tolerance.energy_atol + and gradient_error <= tolerance.gradient_rtol + ) + return replace( + candidate, + energy_abs_error=energy_error, + gradient_relative_l2_error=gradient_error, + valid=valid, + failure=( + None + if valid + else ( + "correctness tolerance exceeded: " + f"energy={energy_error:.6g}, gradient={gradient_error:.6g}" + ) + ), + ) + + +def search_tn_candidates( + request: CompileRequest, + strategies: tuple[PathStrategy, ...] = ( + "greedy", + "random-greedy", + "auto-hq", + ), +) -> TensorSearchResult: + """Benchmark and validate a complete direct-TN candidate set.""" + + reference = benchmark_candidate( + spec=request.spec, + config=ProgramConfig("unrolled", "default"), + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ) + if not reference.valid: + raise RuntimeError(f"state-vector reference failed: {reference.failure}") + tolerance = CorrectnessTolerance.for_dtype(request.spec.dtype) + measured = [ + _validate( + benchmark_tn_candidate( + spec=request.spec, + config=config, + seed=request.seed, + warm_repeats=request.warm_repeats, + timeout_seconds=request.timeout_seconds, + ), + reference, + tolerance, + ) + for config in enumerate_tn_candidates(request, strategies) + ] + frontier = pareto_frontier( + measured, + memory_budget_bytes=request.memory_budget_bytes, + ) + selected = select_for_horizon( + measured, + request.expected_vqe_steps, + request.memory_budget_bytes, + ) + return TensorSearchResult( + request=request, + selected=selected, + pareto=tuple(frontier), + candidates=tuple(measured), + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_program.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_program.py new file mode 100644 index 000000000..934d84d41 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_program.py @@ -0,0 +1,282 @@ +"""Contraction-path planning and explicit JAX execution.""" + +from __future__ import annotations + +from dataclasses import dataclass +from math import prod +from typing import Literal + +import jax +import jax.numpy as jnp +import opt_einsum as oe +from jax import Array + +from vqetape.spec import dtype_bytes +from vqetape.tape import name_residual +from vqetape.tn_template import TensorNetworkTemplate + +PathStrategy = Literal["greedy", "random-greedy", "auto-hq"] + + +@dataclass(frozen=True) +class ContractionStep: + positions: tuple[int, ...] + einsum: str + output_subscript: str + output_elements: int + + +@dataclass(frozen=True) +class ContractionTreeNode: + node_id: int + leaf_index: int | None + step_index: int | None + einsum: str | None + children: tuple[ContractionTreeNode, ...] + leaf_indices: tuple[int, ...] + output_elements: int + + @property + def is_leaf(self) -> bool: + return self.leaf_index is not None + + +@dataclass(frozen=True) +class ContractionProgram: + template: TensorNetworkTemplate + strategy: PathStrategy + path: tuple[tuple[int, ...], ...] + steps: tuple[ContractionStep, ...] + tensor_count: int + input_tensor_elements: int + flops: int + largest_intermediate_elements: int + step_output_bytes: tuple[int, ...] + root: ContractionTreeNode + + +def _symbol_dimensions(template: TensorNetworkTemplate) -> dict[str, int]: + dimensions: dict[str, int] = {} + for slot in template.slots: + for index, extent in zip(slot.indices, slot.shape, strict=True): + symbol = oe.get_symbol(index) + previous = dimensions.setdefault(symbol, extent) + if previous != extent: + raise ValueError(f"inconsistent extent for index {index}") + return dimensions + + +def plan_contraction( + template: TensorNetworkTemplate, + strategy: PathStrategy, + explicit_path: tuple[tuple[int, ...], ...] | None = None, +) -> ContractionProgram: + """Search a path and retain its explicit opt_einsum contraction steps.""" + + if strategy not in ("greedy", "random-greedy", "auto-hq"): + raise ValueError(f"unsupported path strategy: {strategy}") + if explicit_path is not None: + operand_count = len(template.slots) + for positions in explicit_path: + if len(positions) < 2 or any( + position < 0 or position >= operand_count + for position in positions + ): + raise ValueError( + "explicit contraction path is incompatible with " + "the selected tensor topology" + ) + operand_count -= len(positions) - 1 + if operand_count != 1: + raise ValueError( + "explicit contraction path is incompatible with " + "the selected tensor topology" + ) + try: + path, info = oe.contract_path( + template.equation, + *template.shapes, + shapes=True, + optimize=explicit_path if explicit_path is not None else strategy, + ) + except (IndexError, TypeError, ValueError) as exc: + raise ValueError( + "explicit contraction path is incompatible with " + "the selected tensor topology" + ) from exc + explicit_path = tuple(tuple(int(position) for position in item) for item in path) + expression = oe.contract_expression( + template.equation, + *template.shapes, + optimize=explicit_path, + ) + dimensions = _symbol_dimensions(template) + steps: list[ContractionStep] = [] + active_nodes = [ + ContractionTreeNode( + node_id=index, + leaf_index=index, + step_index=None, + einsum=None, + children=(), + leaf_indices=(index,), + output_elements=prod(template.shapes[index]), + ) + for index in range(len(template.slots)) + ] + next_node_id = len(active_nodes) + for contraction in expression.contraction_list: + positions, _, einsum, _, _ = contraction + output_subscript = einsum.split("->", maxsplit=1)[1] + output_elements = prod(dimensions[symbol] for symbol in output_subscript) + steps.append( + ContractionStep( + positions=tuple(int(position) for position in positions), + einsum=einsum, + output_subscript=output_subscript, + output_elements=output_elements, + ) + ) + selected_nodes = [ + active_nodes.pop(int(position)) for position in positions + ] + leaf_indices = tuple( + sorted( + leaf_index + for node in selected_nodes + for leaf_index in node.leaf_indices + ) + ) + active_nodes.append( + ContractionTreeNode( + node_id=next_node_id, + leaf_index=None, + step_index=len(steps) - 1, + einsum=einsum, + children=tuple(selected_nodes), + leaf_indices=leaf_indices, + output_elements=output_elements, + ) + ) + next_node_id += 1 + if len(active_nodes) != 1: + raise RuntimeError("path did not produce one contraction-tree root") + scalar_bytes = dtype_bytes(template.spec.dtype) + return ContractionProgram( + template=template, + strategy=strategy, + path=explicit_path, + steps=tuple(steps), + tensor_count=len(template.slots), + input_tensor_elements=sum(prod(shape) for shape in template.shapes), + flops=int(info.opt_cost), + largest_intermediate_elements=int(info.largest_intermediate), + step_output_bytes=tuple( + step.output_elements * scalar_bytes for step in steps + ), + root=active_nodes[0], + ) + + +def execute_contraction( + program: ContractionProgram, + tensors: tuple[Array, ...], + remat_steps: frozenset[int] = frozenset(), + *, + name_residuals: bool = False, +) -> Array: + """Execute an opt_einsum contraction list with optional step remat.""" + + if len(tensors) != len(program.template.slots): + raise ValueError("tensor count does not match contraction template") + if any( + step < 0 or step >= len(program.steps) for step in remat_steps + ): + raise ValueError("remat step index is out of range") + + operands = list(tensors) + for step_index, step in enumerate(program.steps): + selected = [operands.pop(position) for position in step.positions] + + def contract_step(*values: Array, equation: str = step.einsum) -> Array: + return jnp.einsum(equation, *values, optimize=True) + + if step_index in remat_steps: + contracted = jax.checkpoint(contract_step)(*selected) + else: + contracted = contract_step(*selected) + if name_residuals: + contracted = name_residual( + contracted, + f"contract:{step_index}:elements{step.output_elements}", + ) + operands.append(contracted) + if len(operands) != 1: + raise RuntimeError("contraction program did not produce one output") + return operands[0] + + +def subtree_nodes_at_depth( + program: ContractionProgram, + depth: int, +) -> tuple[ContractionTreeNode, ...]: + """Return internal nodes on a root-relative antichain.""" + + if depth < 0: + raise ValueError("depth must be nonnegative") + frontier = (program.root,) + for _ in range(depth): + next_frontier = tuple( + child + for node in frontier + if not node.is_leaf + for child in node.children + ) + frontier = next_frontier + if not frontier: + break + return tuple(node for node in frontier if not node.is_leaf) + + +def execute_tree_contraction( + program: ContractionProgram, + tensors: tuple[Array, ...], + checkpoint_node_ids: frozenset[int], +) -> Array: + """Execute the contraction tree with checkpointed subtree frontiers.""" + + if len(tensors) != len(program.template.slots): + raise ValueError("tensor count does not match contraction template") + + def evaluate_plain( + node: ContractionTreeNode, + leaf_values: dict[int, Array], + ) -> Array: + if node.is_leaf: + assert node.leaf_index is not None + return leaf_values[node.leaf_index] + assert node.einsum is not None + values = tuple( + evaluate_plain(child, leaf_values) for child in node.children + ) + return jnp.einsum(node.einsum, *values, optimize=True) + + def evaluate(node: ContractionTreeNode) -> Array: + if node.is_leaf: + assert node.leaf_index is not None + return tensors[node.leaf_index] + if node.node_id in checkpoint_node_ids: + leaf_indices = node.leaf_indices + + def evaluate_subtree(*values: Array) -> Array: + leaf_values = dict(zip(leaf_indices, values, strict=True)) + return evaluate_plain(node, leaf_values) + + return jax.checkpoint(evaluate_subtree)( + *(tensors[index] for index in leaf_indices) + ) + assert node.einsum is not None + values = tuple(evaluate(child) for child in node.children) + return jnp.einsum(node.einsum, *values, optimize=True) + + return evaluate(program.root) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_template.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_template.py new file mode 100644 index 000000000..f077b34d9 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_template.py @@ -0,0 +1,486 @@ +"""Static bra-operator-ket tensor-network templates for exact VQE terms.""" + +from __future__ import annotations + +from collections import Counter +from dataclasses import dataclass +from math import isfinite, sqrt +from typing import Literal + +import jax.numpy as jnp +import opt_einsum as oe +from jax import Array + +from vqetape.kernels import rx_matrix, rzz_matrix, rzz_schmidt_factors +from vqetape.spec import ( + GateRepresentation, + HamiltonianRepresentation, + TFIMVQESpec, +) +from vqetape.tape import name_residual +from vqetape.tfim_mpo import tfim_mpo_tensors + +SlotKind = Literal[ + "initial_ket", + "initial_bra", + "ket_rx", + "bra_rx", + "ket_rzz", + "bra_rzz", + "ket_rzz_left", + "ket_rzz_right", + "bra_rzz_left", + "bra_rzz_right", + "operator", + "hamiltonian_mpo_first", + "hamiltonian_mpo_bulk", + "hamiltonian_mpo_last", +] + + +@dataclass(frozen=True) +class ProductPauliTerm: + coefficient: float + operators: tuple[Literal["I", "X", "Y", "Z"], ...] + + def __post_init__(self) -> None: + if not isfinite(self.coefficient): + raise ValueError("term coefficient must be finite") + if not self.operators: + raise ValueError("term must contain at least one operator") + if any(operator not in ("I", "X", "Y", "Z") for operator in self.operators): + raise ValueError("unsupported Pauli operator") + + +@dataclass(frozen=True) +class TensorSlot: + kind: SlotKind + indices: tuple[int, ...] + shape: tuple[int, ...] + layer: int | None = None + wire: int | None = None + + +@dataclass(frozen=True) +class TensorNetworkTemplate: + spec: TFIMVQESpec + gate_representation: GateRepresentation + hamiltonian_representation: HamiltonianRepresentation + slots: tuple[TensorSlot, ...] + equation: str + shapes: tuple[tuple[int, ...], ...] + + def __post_init__(self) -> None: + counts = Counter( + index for slot in self.slots for index in slot.indices + ) + if not counts or any(count != 2 for count in counts.values()): + raise ValueError("expectation tensor network must be closed") + if not self.equation.endswith("->"): + raise ValueError("expectation tensor network must have scalar output") + if self.shapes != tuple(slot.shape for slot in self.slots): + raise ValueError("template shapes do not match slots") + if self.gate_representation not in ("dense", "operator_schmidt"): + raise ValueError( + "unsupported gate_representation: " + f"{self.gate_representation}" + ) + if self.hamiltonian_representation not in ("pauli_sum", "mpo"): + raise ValueError( + "unsupported hamiltonian_representation: " + f"{self.hamiltonian_representation}" + ) + + +class _IndexAllocator: + def __init__(self) -> None: + self._next = 0 + + def take(self) -> int: + value = self._next + self._next += 1 + return value + + +def _append_circuit( + *, + slots: list[TensorSlot], + frontier: list[int], + allocator: _IndexAllocator, + spec: TFIMVQESpec, + side: Literal["ket", "bra"], + gate_representation: GateRepresentation, +) -> None: + rzz_kind: SlotKind = "ket_rzz" if side == "ket" else "bra_rzz" + left_kind: SlotKind = ( + "ket_rzz_left" if side == "ket" else "bra_rzz_left" + ) + right_kind: SlotKind = ( + "ket_rzz_right" if side == "ket" else "bra_rzz_right" + ) + rx_kind: SlotKind = "ket_rx" if side == "ket" else "bra_rx" + for layer in range(spec.depth): + for wire in range(spec.nqubits - 1): + output0 = allocator.take() + output1 = allocator.take() + if gate_representation == "dense": + slots.append( + TensorSlot( + kind=rzz_kind, + indices=( + output0, + output1, + frontier[wire], + frontier[wire + 1], + ), + shape=(2, 2, 2, 2), + layer=layer, + wire=wire, + ) + ) + else: + schmidt = allocator.take() + slots.extend( + ( + TensorSlot( + kind=left_kind, + indices=( + output0, + frontier[wire], + schmidt, + ), + shape=(2, 2, 2), + layer=layer, + wire=wire, + ), + TensorSlot( + kind=right_kind, + indices=( + output1, + frontier[wire + 1], + schmidt, + ), + shape=(2, 2, 2), + layer=layer, + wire=wire, + ), + ) + ) + frontier[wire] = output0 + frontier[wire + 1] = output1 + for wire in range(spec.nqubits): + output = allocator.take() + slots.append( + TensorSlot( + kind=rx_kind, + indices=(output, frontier[wire]), + shape=(2, 2), + layer=layer, + wire=wire, + ) + ) + frontier[wire] = output + + +def build_expectation_template( + spec: TFIMVQESpec, + *, + gate_representation: GateRepresentation = "dense", +) -> TensorNetworkTemplate: + """Build one reusable closed topology for every product-Pauli term.""" + + if gate_representation not in ("dense", "operator_schmidt"): + raise ValueError( + f"unsupported gate_representation: {gate_representation}" + ) + allocator, slots, ket_frontier, bra_frontier = _build_circuit_slots( + spec, + gate_representation, + ) + + slots.extend( + TensorSlot( + "operator", + (bra_frontier[wire], ket_frontier[wire]), + (2, 2), + wire=wire, + ) + for wire in range(spec.nqubits) + ) + + equation = ",".join( + "".join(oe.get_symbol(index) for index in slot.indices) + for slot in slots + ) + "->" + return TensorNetworkTemplate( + spec=spec, + gate_representation=gate_representation, + hamiltonian_representation="pauli_sum", + slots=tuple(slots), + equation=equation, + shapes=tuple(slot.shape for slot in slots), + ) + + +def _build_circuit_slots( + spec: TFIMVQESpec, + gate_representation: GateRepresentation, +) -> tuple[_IndexAllocator, list[TensorSlot], list[int], list[int]]: + allocator = _IndexAllocator() + slots: list[TensorSlot] = [] + ket_frontier = [allocator.take() for _ in range(spec.nqubits)] + slots.extend( + TensorSlot("initial_ket", (index,), (2,), wire=wire) + for wire, index in enumerate(ket_frontier) + ) + bra_frontier = [allocator.take() for _ in range(spec.nqubits)] + slots.extend( + TensorSlot("initial_bra", (index,), (2,), wire=wire) + for wire, index in enumerate(bra_frontier) + ) + _append_circuit( + slots=slots, + frontier=ket_frontier, + allocator=allocator, + spec=spec, + side="ket", + gate_representation=gate_representation, + ) + _append_circuit( + slots=slots, + frontier=bra_frontier, + allocator=allocator, + spec=spec, + side="bra", + gate_representation=gate_representation, + ) + return allocator, slots, ket_frontier, bra_frontier + + +def build_mpo_expectation_template( + spec: TFIMVQESpec, + *, + gate_representation: GateRepresentation = "dense", +) -> TensorNetworkTemplate: + """Build a closed bra–MPO–ket TFIM expectation topology.""" + + if gate_representation not in ("dense", "operator_schmidt"): + raise ValueError( + f"unsupported gate_representation: {gate_representation}" + ) + allocator, slots, ket_frontier, bra_frontier = _build_circuit_slots( + spec, + gate_representation, + ) + mpo_bonds = [allocator.take() for _ in range(spec.nqubits - 1)] + slots.append( + TensorSlot( + "hamiltonian_mpo_first", + ( + mpo_bonds[0], + bra_frontier[0], + ket_frontier[0], + ), + (3, 2, 2), + wire=0, + ) + ) + for wire in range(1, spec.nqubits - 1): + slots.append( + TensorSlot( + "hamiltonian_mpo_bulk", + ( + mpo_bonds[wire - 1], + mpo_bonds[wire], + bra_frontier[wire], + ket_frontier[wire], + ), + (3, 3, 2, 2), + wire=wire, + ) + ) + slots.append( + TensorSlot( + "hamiltonian_mpo_last", + ( + mpo_bonds[-1], + bra_frontier[-1], + ket_frontier[-1], + ), + (3, 2, 2), + wire=spec.nqubits - 1, + ) + ) + equation = ",".join( + "".join(oe.get_symbol(index) for index in slot.indices) + for slot in slots + ) + "->" + return TensorNetworkTemplate( + spec=spec, + gate_representation=gate_representation, + hamiltonian_representation="mpo", + slots=tuple(slots), + equation=equation, + shapes=tuple(slot.shape for slot in slots), + ) + + +def _product_state_vector(spec: TFIMVQESpec) -> Array: + dtype = jnp.complex64 if spec.dtype == "complex64" else jnp.complex128 + if spec.initial_state == "zero": + return jnp.asarray([1, 0], dtype=dtype) + return jnp.asarray([1 / sqrt(2), 1 / sqrt(2)], dtype=dtype) + + +def _pauli_matrix(name: str, dtype) -> Array: + matrices = { + "I": [[1, 0], [0, 1]], + "X": [[0, 1], [1, 0]], + "Y": [[0, -1j], [1j, 0]], + "Z": [[1, 0], [0, -1]], + } + return jnp.asarray(matrices[name], dtype=dtype) + + +def bind_term_tensors( + template: TensorNetworkTemplate, + theta: Array, + term: ProductPauliTerm, + *, + name_residuals: bool = False, +) -> tuple[Array, ...]: + """Bind parameters and one product-Pauli operator to a static template.""" + + spec = template.spec + if template.hamiltonian_representation != "pauli_sum": + raise ValueError("term tensors require a pauli_sum template") + if len(term.operators) != spec.nqubits: + raise ValueError("operator count must match nqubits") + if tuple(theta.shape) != spec.parameter_shape: + raise ValueError( + f"theta shape must be {spec.parameter_shape}, got {tuple(theta.shape)}" + ) + dtype = jnp.complex64 if spec.dtype == "complex64" else jnp.complex128 + product_state = _product_state_vector(spec) + tensors: list[Array] = [] + for slot_index, slot in enumerate(template.slots): + if slot.kind == "operator": + assert slot.wire is not None + tensor = _pauli_matrix(term.operators[slot.wire], dtype) + else: + tensor = _bind_non_hamiltonian_slot( + slot, + theta, + product_state, + dtype, + ) + tensor = _maybe_name_tensor( + tensor, + slot, + slot_index, + name_residuals, + ) + tensors.append(tensor) + return tuple(tensors) + + +def _bind_non_hamiltonian_slot( + slot: TensorSlot, + theta: Array, + product_state: Array, + dtype, +) -> Array: + if slot.kind == "initial_ket": + return product_state + if slot.kind == "initial_bra": + return jnp.conj(product_state) + if slot.kind in ("ket_rx", "bra_rx"): + assert slot.layer is not None and slot.wire is not None + tensor = rx_matrix(theta[slot.layer, 1, slot.wire], dtype) + return jnp.conj(tensor) if slot.kind == "bra_rx" else tensor + if slot.kind in ("ket_rzz", "bra_rzz"): + assert slot.layer is not None and slot.wire is not None + tensor = rzz_matrix( + theta[slot.layer, 0, slot.wire], + dtype, + ).reshape(2, 2, 2, 2) + return jnp.conj(tensor) if slot.kind == "bra_rzz" else tensor + if slot.kind in ( + "ket_rzz_left", + "ket_rzz_right", + "bra_rzz_left", + "bra_rzz_right", + ): + assert slot.layer is not None and slot.wire is not None + left, right = rzz_schmidt_factors( + theta[slot.layer, 0, slot.wire], + dtype, + ) + tensor = left if slot.kind.endswith("_left") else right + return jnp.conj(tensor) if slot.kind.startswith("bra_") else tensor + raise ValueError(f"unsupported non-Hamiltonian slot kind: {slot.kind}") + + +def _maybe_name_tensor( + tensor: Array, + slot: TensorSlot, + slot_index: int, + enabled: bool, +) -> Array: + if not enabled: + return tensor + location = ( + f"l{slot.layer if slot.layer is not None else 'x'}:" + f"w{slot.wire if slot.wire is not None else 'x'}" + ) + return name_residual( + tensor, + f"slot:{slot.kind}:{location}:i{slot_index}", + ) + + +def bind_mpo_tensors( + template: TensorNetworkTemplate, + theta: Array, + *, + name_residuals: bool = False, +) -> tuple[Array, ...]: + """Bind one complete circuit and exact TFIM MPO network.""" + + spec = template.spec + if template.hamiltonian_representation != "mpo": + raise ValueError("MPO tensors require an mpo template") + if tuple(theta.shape) != spec.parameter_shape: + raise ValueError( + f"theta shape must be {spec.parameter_shape}, got {tuple(theta.shape)}" + ) + dtype = jnp.complex64 if spec.dtype == "complex64" else jnp.complex128 + product_state = _product_state_vector(spec) + mpo_tensors = tfim_mpo_tensors(spec) + tensors: list[Array] = [] + for slot_index, slot in enumerate(template.slots): + if slot.kind.startswith("hamiltonian_mpo_"): + assert slot.wire is not None + tensor = mpo_tensors[slot.wire] + else: + tensor = _bind_non_hamiltonian_slot( + slot, + theta, + product_state, + dtype, + ) + tensor = _maybe_name_tensor( + tensor, + slot, + slot_index, + name_residuals, + ) + if tuple(tensor.shape) != slot.shape: + raise ValueError( + f"bound tensor shape {tuple(tensor.shape)} " + f"does not match slot shape {slot.shape}" + ) + tensors.append(tensor) + if len(mpo_tensors) != spec.nqubits: + raise ValueError("MPO tensor count must match nqubits") + return tuple(tensors) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_vqe.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_vqe.py new file mode 100644 index 000000000..28c69bdff --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/tn_vqe.py @@ -0,0 +1,287 @@ +"""Exact direct tensor-network VQE energy and gradient builders.""" + +from __future__ import annotations + +from collections.abc import Callable +from typing import Literal + +import jax +import jax.numpy as jnp +from jax import Array +from jax.ad_checkpoint import checkpoint_policies + +from vqetape.spec import ( + GateRepresentation, + HamiltonianRepresentation, + TFIMVQESpec, +) +from vqetape.tn_program import ( + ContractionProgram, + PathStrategy, + execute_contraction, + execute_tree_contraction, + plan_contraction, + subtree_nodes_at_depth, +) +from vqetape.tn_template import ( + ProductPauliTerm, + bind_mpo_tensors, + bind_term_tensors, + build_expectation_template, + build_mpo_expectation_template, +) + +RematPolicy = Literal[ + "none", + "all", + "output-ge-threshold", + "term", + "objective", + "subtree", + "named", +] +TensorEnergyFunction = Callable[[Array], Array] +TensorValueAndGradFunction = Callable[[Array], tuple[Array, Array]] + + +def tfim_product_terms(spec: TFIMVQESpec) -> tuple[ProductPauliTerm, ...]: + """Return product-Pauli terms for the open-boundary TFIM.""" + + terms: list[ProductPauliTerm] = [] + for wire in range(spec.nqubits - 1): + operators = ["I"] * spec.nqubits + operators[wire] = "Z" + operators[wire + 1] = "Z" + terms.append( + ProductPauliTerm( + coefficient=-spec.coupling, + operators=tuple(operators), + ) + ) + for wire in range(spec.nqubits): + operators = ["I"] * spec.nqubits + operators[wire] = "X" + terms.append( + ProductPauliTerm( + coefficient=-spec.field, + operators=tuple(operators), + ) + ) + return tuple(terms) + + +def remat_steps_for_policy( + program: ContractionProgram, + policy: RematPolicy, + threshold_bytes: int | None, +) -> frozenset[int]: + """Resolve a symbolic tape policy to explicit contraction-step indices.""" + + if policy in ("none", "term", "objective", "subtree", "named"): + if threshold_bytes is not None: + raise ValueError("threshold_bytes is only valid for threshold policy") + return frozenset() + if policy == "all": + if threshold_bytes is not None: + raise ValueError("threshold_bytes is only valid for threshold policy") + return frozenset(range(len(program.steps))) + if policy != "output-ge-threshold": + raise ValueError(f"unsupported remat policy: {policy}") + if threshold_bytes is None or threshold_bytes < 1: + raise ValueError("threshold policy requires positive threshold_bytes") + return frozenset( + index + for index, output_bytes in enumerate(program.step_output_bytes) + if output_bytes >= threshold_bytes + ) + + +def build_tn_energy( + spec: TFIMVQESpec, + *, + path_strategy: PathStrategy, + remat_policy: RematPolicy, + threshold_bytes: int | None = None, + explicit_path: tuple[tuple[int, ...], ...] | None = None, + subtree_depth: int | None = None, + name_residuals: bool = False, + save_names: tuple[str, ...] | None = None, + gate_representation: GateRepresentation = "dense", + hamiltonian_representation: HamiltonianRepresentation = "pauli_sum", +) -> tuple[TensorEnergyFunction, ContractionProgram, frozenset[int]]: + """Build an exact direct scalar-contraction TFIM energy function.""" + + if hamiltonian_representation not in ("pauli_sum", "mpo"): + raise ValueError( + "unsupported hamiltonian_representation: " + f"{hamiltonian_representation}" + ) + template = ( + build_expectation_template( + spec, + gate_representation=gate_representation, + ) + if hamiltonian_representation == "pauli_sum" + else build_mpo_expectation_template( + spec, + gate_representation=gate_representation, + ) + ) + program = plan_contraction( + template, + path_strategy, + explicit_path=explicit_path, + ) + remat_steps = remat_steps_for_policy( + program, + remat_policy, + threshold_bytes, + ) + if remat_policy == "subtree": + if subtree_depth is None or subtree_depth < 0: + raise ValueError( + "subtree policy requires nonnegative subtree_depth" + ) + checkpoint_node_ids = frozenset( + node.node_id + for node in subtree_nodes_at_depth(program, subtree_depth) + ) + if not checkpoint_node_ids: + raise ValueError( + f"no internal subtree nodes exist at depth {subtree_depth}" + ) + else: + if subtree_depth is not None: + raise ValueError( + "subtree_depth is only valid for subtree policy" + ) + checkpoint_node_ids = frozenset() + if remat_policy == "named": + if save_names is None: + raise ValueError("named policy requires save_names") + allowed_names = { + f"contract:{step_index}:elements{step.output_elements}:{component}" + for step_index, step in enumerate(program.steps) + for component in ("real", "imag") + } + unknown_names = set(save_names) - allowed_names + if unknown_names: + raise ValueError( + "named tape contains values from another " + f"contraction program: {sorted(unknown_names)}" + ) + name_residuals = True + elif save_names is not None: + raise ValueError("save_names is only valid for named policy") + terms = ( + tfim_product_terms(spec) + if hamiltonian_representation == "pauli_sum" + else () + ) + real_dtype = jnp.float32 if spec.dtype == "complex64" else jnp.float64 + + def contract_tensors(tensors: tuple[Array, ...]) -> Array: + return ( + execute_tree_contraction( + program, + tensors, + checkpoint_node_ids=checkpoint_node_ids, + ) + if remat_policy == "subtree" + else execute_contraction( + program, + tensors, + remat_steps=remat_steps, + name_residuals=name_residuals, + ) + ) + + def pauli_sum_energy(theta: Array) -> Array: + total = jnp.asarray(0.0, dtype=real_dtype) + for term in terms: + def contract_term( + local_theta: Array, + fixed_term: ProductPauliTerm = term, + ) -> Array: + tensors = bind_term_tensors( + template, + local_theta, + fixed_term, + name_residuals=name_residuals, + ) + return contract_tensors(tensors) + + expectation = ( + jax.checkpoint(contract_term)(theta) + if remat_policy == "term" + else contract_term(theta) + ) + total = total + term.coefficient * jnp.real(expectation) + return total + + def mpo_energy(theta: Array) -> Array: + def contract_mpo(local_theta: Array) -> Array: + tensors = bind_mpo_tensors( + template, + local_theta, + name_residuals=name_residuals, + ) + return contract_tensors(tensors) + + expectation = ( + jax.checkpoint(contract_mpo)(theta) + if remat_policy == "term" + else contract_mpo(theta) + ) + return jnp.asarray(jnp.real(expectation), dtype=real_dtype) + + raw_energy = ( + pauli_sum_energy + if hamiltonian_representation == "pauli_sum" + else mpo_energy + ) + + if remat_policy == "objective": + energy = jax.checkpoint(raw_energy) + elif remat_policy == "named": + assert save_names is not None + policy = checkpoint_policies.save_only_these_names(*save_names) + energy = jax.checkpoint(raw_energy, policy=policy) + else: + energy = raw_energy + remat_units = ( + checkpoint_node_ids + if remat_policy == "subtree" + else frozenset(save_names) + if remat_policy == "named" and save_names is not None + else remat_steps + ) + return energy, program, remat_units + + +def build_tn_value_and_grad( + spec: TFIMVQESpec, + *, + path_strategy: PathStrategy, + remat_policy: RematPolicy, + threshold_bytes: int | None = None, + explicit_path: tuple[tuple[int, ...], ...] | None = None, + subtree_depth: int | None = None, + save_names: tuple[str, ...] | None = None, + gate_representation: GateRepresentation = "dense", + hamiltonian_representation: HamiltonianRepresentation = "pauli_sum", +) -> TensorValueAndGradFunction: + """Build a JIT-compiled direct-TN value-and-full-gradient executable.""" + + energy, _, _ = build_tn_energy( + spec, + path_strategy=path_strategy, + remat_policy=remat_policy, + threshold_bytes=threshold_bytes, + explicit_path=explicit_path, + subtree_depth=subtree_depth, + save_names=save_names, + gate_representation=gate_representation, + hamiltonian_representation=hamiltonian_representation, + ) + return jax.jit(jax.value_and_grad(energy)) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training.py new file mode 100644 index 000000000..98949c52c --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training.py @@ -0,0 +1,253 @@ +"""Measured end-to-solution VQE training.""" + +from __future__ import annotations + +import resource +import sys +import time +from typing import Any + +import jax +import numpy as np + +from vqetape.ground_state import tfim_ground_energy +from vqetape.initialization import initialize_parameters +from vqetape.optimizers import ( + OptimizerOutcome, + OptimizerUnavailable, + active_parameter_mask, + pure_state_qgt, + run_adam, + run_lbfgs, + run_natural_gradient, +) +from vqetape.programs import build_value_and_grad +from vqetape.spatial_programs import ( + build_spatial_value_and_grad, +) +from vqetape.spec import ProgramConfig +from vqetape.training_spec import ( + ParametersPayload, + VQEStep, + VQETrainingRequest, + VQETrainingResult, +) + + +def _peak_rss_bytes() -> int: + peak = int( + resource.getrusage(resource.RUSAGE_SELF).ru_maxrss + ) + return peak if sys.platform == "darwin" else peak * 1024 + + +def _parameter_payload( + parameters: np.ndarray, +) -> ParametersPayload: + return tuple( + ( + tuple(float(value) for value in layer[0]), + tuple(float(value) for value in layer[1]), + ) + for layer in np.asarray(parameters) + ) + + +def _build_executable(request: VQETrainingRequest): + if isinstance(request.program, ProgramConfig): + return build_value_and_grad( + request.spec, + request.program, + ) + return build_spatial_value_and_grad( + request.spec, + request.program, + ) + + +def train_vqe( + request: VQETrainingRequest, +) -> VQETrainingResult: + """Compile and run one complete measured VQE optimization.""" + + initial, provenance = initialize_parameters(request) + ground_energy = ( + request.ground_energy + if request.ground_energy is not None + else tfim_ground_energy(request.spec) + ) + target_energy = ( + ground_energy + request.target_energy_error + ) + + executable = _build_executable(request) + compile_started = time.perf_counter() + compiled = executable.lower(initial).compile() + compile_seconds = time.perf_counter() - compile_started + + optimization_started = time.perf_counter() + first_started = time.perf_counter() + first_energy, first_gradient = compiled(initial) + jax.block_until_ready((first_energy, first_gradient)) + first_execute_seconds = ( + time.perf_counter() - first_started + ) + initial_evaluation = ( + float(np.asarray(first_energy)), + np.asarray(first_gradient), + ) + cached_first = [initial_evaluation] + trace: list[VQEStep] = [] + time_to_target: float | None = None + last_parameters = np.array(initial, copy=True) + + def evaluate( + parameters: np.ndarray, + ) -> tuple[float, np.ndarray]: + if cached_first: + return cached_first.pop() + device_parameters = np.asarray( + parameters, + dtype=initial.dtype, + ) + energy, gradient = compiled(device_parameters) + jax.block_until_ready((energy, gradient)) + return ( + float(np.asarray(energy)), + np.asarray(gradient), + ) + + def observe( + evaluation: int, + optimizer_step: int, + parameters: np.ndarray, + energy: float, + gradient: np.ndarray, + metric_condition: float | None, + ) -> bool: + nonlocal time_to_target, last_parameters + elapsed = time.perf_counter() - optimization_started + energy_error = energy - ground_energy + last_parameters = np.array(parameters, copy=True) + trace.append( + VQEStep( + evaluation=evaluation, + optimizer_step=optimizer_step, + energy=float(energy), + energy_error=float(energy_error), + gradient_norm=float( + np.linalg.norm(gradient) + ), + elapsed_seconds=elapsed, + metric_condition=metric_condition, + ) + ) + reached = bool( + np.isfinite(energy_error) + and energy_error + <= request.target_energy_error + ) + if reached and time_to_target is None: + time_to_target = compile_seconds + elapsed + return reached + + mask = active_parameter_mask(request.spec) + outcome: OptimizerOutcome | None = None + failure: str | None = None + skipped = False + try: + if request.optimizer == "adam": + outcome = run_adam( + initial, + evaluate, + observe, + max_steps=request.max_steps, + learning_rate=request.learning_rate, + mask=mask, + ) + elif request.optimizer == "lbfgs": + outcome = run_lbfgs( + initial, + evaluate, + observe, + max_steps=request.max_steps, + mask=mask, + ) + else: + outcome = run_natural_gradient( + initial, + evaluate, + lambda parameters: pure_state_qgt( + np.asarray( + parameters, + dtype=initial.dtype, + ), + request.spec, + ), + observe, + max_steps=request.max_steps, + learning_rate=request.learning_rate, + damping=request.damping, + mask=mask, + ) + except OptimizerUnavailable as exc: + failure = str(exc) + skipped = True + except ( + FloatingPointError, + ValueError, + np.linalg.LinAlgError, + ) as exc: + failure = f"{type(exc).__name__}: {exc}" + + optimization_seconds = ( + time.perf_counter() - optimization_started + ) + if outcome is not None: + final_parameters = outcome.parameters + converged = outcome.target_reached + evaluations = outcome.evaluations + optimizer_steps = outcome.steps + if outcome.failure is not None: + failure = outcome.failure + elif not converged: + failure = ( + "target not reached within max_steps" + ) + else: + final_parameters = last_parameters + converged = False + evaluations = len(trace) + optimizer_steps = ( + trace[-1].optimizer_step if trace else 0 + ) + + final_energy = ( + trace[-1].energy + if trace + else float(initial_evaluation[0]) + ) + return VQETrainingResult( + request=request, + converged=converged, + evaluations=evaluations, + optimizer_steps=optimizer_steps, + compile_seconds=compile_seconds, + first_execute_seconds=first_execute_seconds, + optimization_seconds=optimization_seconds, + time_to_target_seconds=time_to_target, + total_seconds=( + compile_seconds + optimization_seconds + ), + peak_rss_bytes=_peak_rss_bytes(), + ground_energy=float(ground_energy), + target_energy=float(target_energy), + final_energy=float(final_energy), + final_parameters=_parameter_payload( + final_parameters + ), + trace=tuple(trace), + initialization_provenance=provenance, + failure=failure, + skipped=skipped, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_benchmark.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_benchmark.py new file mode 100644 index 000000000..3104be62b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_benchmark.py @@ -0,0 +1,101 @@ +"""Isolated-process execution for fair VQE training comparisons.""" + +from __future__ import annotations + +import json +import os +from pathlib import Path +import subprocess +import sys +import tempfile + +from vqetape.training_spec import ( + VQETrainingRequest, + VQETrainingResult, +) +from vqetape.subprocess_env import worker_environment + + +class TrainingWorkerError(RuntimeError): + """Raised when an isolated training process fails.""" + + +def run_training_fresh_process( + request: VQETrainingRequest, + *, + timeout_seconds: float = 900, +) -> VQETrainingResult: + """Execute one request with fresh JAX and allocator state.""" + + if timeout_seconds <= 0: + raise ValueError("timeout_seconds must be positive") + + with tempfile.TemporaryDirectory( + prefix="vqetape-training-" + ) as directory: + root = Path(directory) + request_path = root / "request.json" + result_path = root / "result.json" + cache_path = root / "jax-cache" + request_path.write_text( + json.dumps( + request.to_dict(), + indent=2, + allow_nan=False, + ), + encoding="utf-8", + ) + environment = worker_environment() + environment["JAX_COMPILATION_CACHE_DIR"] = str( + cache_path + ) + try: + completed = subprocess.run( + [ + sys.executable, + "-m", + "vqetape.training_worker", + "--request", + str(request_path), + "--output", + str(result_path), + ], + check=False, + capture_output=True, + text=True, + timeout=timeout_seconds, + env=environment, + ) + except subprocess.TimeoutExpired as exc: + raise TrainingWorkerError( + "training worker exceeded " + f"{timeout_seconds:g} seconds" + ) from exc + if completed.returncode != 0: + details = completed.stderr.strip() + if completed.stdout.strip(): + details = ( + f"{details}\n{completed.stdout.strip()}" + ).strip() + raise TrainingWorkerError( + "training worker exited with status " + f"{completed.returncode}: {details}" + ) + if not result_path.exists(): + raise TrainingWorkerError( + "training worker produced no result" + ) + payload = json.loads( + result_path.read_text(encoding="utf-8") + ) + worker_pid = payload.pop("worker_pid", None) + parent_pid = payload.pop("parent_pid", None) + if worker_pid is None or worker_pid == os.getpid(): + raise TrainingWorkerError( + "training worker did not run in a fresh process" + ) + if parent_pid != os.getpid(): + raise TrainingWorkerError( + "training worker parent identity mismatch" + ) + return VQETrainingResult.from_dict(payload) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_cli.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_cli.py new file mode 100644 index 000000000..2bf4324f2 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_cli.py @@ -0,0 +1,177 @@ +"""Command-line entry point for measured VQE training.""" + +from __future__ import annotations + +import argparse +import json +from pathlib import Path + +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training import train_vqe +from vqetape.training_spec import ( + VQETrainingRequest, + VQETrainingResult, +) + + +def _parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser( + description=( + "Measure exact VQE time to a target energy error." + ) + ) + parser.add_argument("--nqubits", required=True, type=int) + parser.add_argument("--depth", required=True, type=int) + parser.add_argument("--coupling", type=float, default=1.0) + parser.add_argument("--field", type=float, default=1.0) + parser.add_argument( + "--dtype", + choices=("complex64", "complex128"), + default="complex64", + ) + parser.add_argument( + "--program", + choices=( + "statevector", + "spatial", + "z2-reference", + "z2-native", + ), + default="spatial", + ) + parser.add_argument( + "--path-strategy", + choices=("greedy", "random-greedy", "auto-hq"), + default="greedy", + ) + parser.add_argument("--block-width", type=int, default=1) + parser.add_argument("--unroll", type=int, default=1) + parser.add_argument( + "--adjoint", + choices=( + "default", + "remat", + "segmented", + "explicit", + ), + default="default", + ) + parser.add_argument("--segment-length", type=int) + parser.add_argument( + "--optimizer", + choices=("adam", "lbfgs", "natural-gradient"), + required=True, + ) + parser.add_argument( + "--initialization", + choices=("zeros", "random", "recycled"), + required=True, + ) + parser.add_argument("--target-error", required=True, type=float) + parser.add_argument("--max-steps", required=True, type=int) + parser.add_argument("--learning-rate", type=float, default=0.05) + parser.add_argument("--damping", type=float, default=1e-3) + parser.add_argument("--seed", type=int, default=0) + parser.add_argument("--ground-energy", type=float) + parser.add_argument("--recycled-result", type=Path) + parser.add_argument("--output", required=True, type=Path) + return parser + + +def _program( + args: argparse.Namespace, +) -> ProgramConfig | SpatialProgramConfig: + if args.program == "statevector": + return ProgramConfig( + "scan", + args.adjoint, + unroll=args.unroll, + segment_length=args.segment_length, + ) + symmetry = { + "spatial": "none", + "z2-reference": "z2-reference", + "z2-native": "z2-native", + }[args.program] + return SpatialProgramConfig( + args.path_strategy, + args.adjoint, + unroll=args.unroll, + block_width=args.block_width, + symmetry=symmetry, + segment_length=args.segment_length, + ) + + +def main(argv: list[str] | None = None) -> int: + args = _parser().parse_args(argv) + spec = TFIMVQESpec( + nqubits=args.nqubits, + depth=args.depth, + coupling=args.coupling, + field=args.field, + dtype=args.dtype, + ) + recycled_source_spec = None + recycled_parameters = None + if args.initialization == "recycled": + if args.recycled_result is None: + raise ValueError( + "recycled initialization requires " + "--recycled-result" + ) + source = VQETrainingResult.from_dict( + json.loads( + args.recycled_result.read_text( + encoding="utf-8" + ) + ) + ) + recycled_source_spec = source.request.spec + recycled_parameters = source.final_parameters + elif args.recycled_result is not None: + raise ValueError( + "--recycled-result is only valid with recycled " + "initialization" + ) + + request = VQETrainingRequest( + spec=spec, + program=_program(args), + optimizer=args.optimizer, + initialization=args.initialization, + target_energy_error=args.target_error, + max_steps=args.max_steps, + seed=args.seed, + learning_rate=args.learning_rate, + damping=args.damping, + ground_energy=args.ground_energy, + recycled_source_spec=recycled_source_spec, + recycled_parameters=recycled_parameters, + ) + result = train_vqe(request) + args.output.parent.mkdir(parents=True, exist_ok=True) + args.output.write_text( + json.dumps( + result.to_dict(), + indent=2, + allow_nan=False, + ), + encoding="utf-8", + ) + print( + f"program={request.program.label} " + f"optimizer={request.optimizer} " + f"converged={result.converged} " + f"evaluations={result.evaluations} " + f"final_error={result.final_energy - result.ground_energy:.6g}" + ) + return 0 if result.converged else 2 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_report.py new file mode 100644 index 000000000..e29a7ed15 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_report.py @@ -0,0 +1,418 @@ +"""Generate the audited VQETape time-to-solution report.""" + +from __future__ import annotations + +import argparse +from datetime import UTC, datetime +import json +import platform +from pathlib import Path +from typing import Any + +import jax + +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training_benchmark import ( + TrainingWorkerError, + run_training_fresh_process, +) +from vqetape.training_spec import ( + VQETrainingRequest, + VQETrainingResult, +) + + +def _request( + *, + optimizer: str, + initialization: str, + program: ProgramConfig | SpatialProgramConfig, + source: VQETrainingResult | None = None, +) -> VQETrainingRequest: + source_spec = None + source_parameters = None + if source is not None: + source_spec = source.request.spec + source_parameters = source.final_parameters + return VQETrainingRequest( + spec=TFIMVQESpec(nqubits=4, depth=2), + program=program, + optimizer=optimizer, # type: ignore[arg-type] + initialization=initialization, # type: ignore[arg-type] + target_energy_error=0.1, + max_steps=80, + seed=3, + learning_rate=0.08, + damping=0.01, + recycled_source_spec=source_spec, + recycled_parameters=source_parameters, + ) + + +def benchmark_requests( + source: VQETrainingResult, +) -> tuple[tuple[str, VQETrainingRequest], ...]: + """Return the fixed, reviewable comparison matrix.""" + + spatial = SpatialProgramConfig( + "greedy", + "default", + block_width=2, + ) + rows: list[tuple[str, VQETrainingRequest]] = [] + for optimizer in ( + "adam", + "lbfgs", + "natural-gradient", + ): + for initialization in ("zeros", "random"): + rows.append( + ( + f"optimizer-{optimizer}-{initialization}", + _request( + optimizer=optimizer, + initialization=initialization, + program=spatial, + ), + ) + ) + rows.append( + ( + f"optimizer-{optimizer}-recycled", + _request( + optimizer=optimizer, + initialization="recycled", + program=spatial, + source=source, + ), + ) + ) + + rows.extend( + ( + ( + "program-statevector", + _request( + optimizer="lbfgs", + initialization="random", + program=ProgramConfig( + "scan", + "default", + ), + ), + ), + ( + "program-z2-native", + _request( + optimizer="lbfgs", + initialization="random", + program=SpatialProgramConfig( + "greedy", + "default", + block_width=1, + symmetry="z2-native", + ), + ), + ), + ) + ) + return tuple(rows) + + +def _source_request() -> VQETrainingRequest: + return VQETrainingRequest( + spec=TFIMVQESpec(nqubits=3, depth=1), + program=SpatialProgramConfig( + "greedy", + "default", + ), + optimizer="lbfgs", + initialization="random", + target_energy_error=0.1, + max_steps=80, + seed=3, + ) + + +def _run_entry( + identifier: str, + request: VQETrainingRequest, + timeout_seconds: float, +) -> dict[str, Any]: + try: + result = run_training_fresh_process( + request, + timeout_seconds=timeout_seconds, + ) + except TrainingWorkerError as exc: + return { + "id": identifier, + "request": request.to_dict(), + "worker_failure": ( + f"{type(exc).__name__}: {exc}" + ), + } + return { + "id": identifier, + "result": result.to_dict(), + } + + +def _derived( + source: VQETrainingResult, + runs: list[dict[str, Any]], +) -> dict[str, Any]: + successful = [ + row + for row in runs + if row.get("result", {}).get("converged") + ] + ranked = sorted( + successful, + key=lambda row: row["result"][ + "time_to_target_seconds" + ], + ) + by_id = {row["id"]: row for row in runs} + recycled: dict[str, Any] = {} + for optimizer in ( + "adam", + "lbfgs", + "natural-gradient", + ): + random_row = by_id[ + f"optimizer-{optimizer}-random" + ]["result"] + recycled_row = by_id[ + f"optimizer-{optimizer}-recycled" + ]["result"] + recycled[optimizer] = { + "random_evaluations": random_row[ + "evaluations" + ], + "recycled_evaluations": recycled_row[ + "evaluations" + ], + "target_only_seconds": recycled_row[ + "time_to_target_seconds" + ], + "two_stage_seconds": ( + source.time_to_target_seconds + + recycled_row["time_to_target_seconds"] + if source.time_to_target_seconds is not None + and recycled_row[ + "time_to_target_seconds" + ] + is not None + else None + ), + } + return { + "ranking_policy": ( + "converged runs only, ascending synchronized " + "time_to_target_seconds including compilation" + ), + "converged_run_ids": [ + row["id"] for row in ranked + ], + "best_run_id": ( + ranked[0]["id"] if ranked else None + ), + "recycling": recycled, + "source_training_seconds": ( + source.time_to_target_seconds + ), + } + + +def _environment() -> dict[str, Any]: + devices = jax.devices() + return { + "python": platform.python_version(), + "platform": platform.platform(), + "jax": jax.__version__, + "backend": jax.default_backend(), + "devices": [ + { + "id": device.id, + "platform": device.platform, + "device_kind": device.device_kind, + } + for device in devices + ], + } + + +def _write_markdown( + payload: dict[str, Any], + destination: Path, +) -> None: + source = payload["recycling_source"] + rows = payload["runs"] + lines = [ + "# VQETape VQE time-to-solution findings", + "", + "All candidates ran in fresh processes. Time to target " + "includes compilation, first execution, every synchronized " + "value-gradient evaluation, and optimizer overhead.", + "", + "## Audited workload", + "", + "- Target: open-chain TFIM, 4 qubits, depth-2 RZZ-RX " + "ansatz, energy error at most 0.1.", + "- Initialization seed: 3; Adam/natural-gradient learning " + "rate: 0.08; natural-gradient damping: 0.01.", + "- Recycled source: 3 qubits, depth 1, independently " + "converged with L-BFGS-B.", + "", + "## Results", + "", + "| ID | program | optimizer | start | converged | calls | " + "compile (s) | target (s) | final error |", + "|---|---|---|---|---:|---:|---:|---:|---:|", + ] + for row in rows: + if "result" not in row: + lines.append( + f"| {row['id']} | — | — | — | no | — | — | — " + f"| worker failure |" + ) + continue + result = row["result"] + request = result["request"] + error = ( + result["final_energy"] + - result["ground_energy"] + ) + target_seconds = result["time_to_target_seconds"] + lines.append( + "| {identifier} | {program} | {optimizer} | " + "{initialization} | {converged} | {calls} | " + "{compile:.3f} | {target} | {error:.6f} |".format( + identifier=row["id"], + program=result["program_label"], + optimizer=request["optimizer"], + initialization=request["initialization"], + converged="yes" if result["converged"] else "no", + calls=result["evaluations"], + compile=result["compile_seconds"], + target=( + f"{target_seconds:.3f}" + if target_seconds is not None + else "—" + ), + error=error, + ) + ) + derived = payload["derived"] + lines.extend( + [ + "", + "## What the measurement supports", + "", + f"- Fastest converged run: `{derived['best_run_id']}`. " + "This is workload- and machine-specific.", + "- Zero initialization does not converge here: the " + "RZZ-RX circuit starts at a stationary point, so Adam, " + "L-BFGS-B, and natural gradient cannot leave it.", + "- Natural gradient reaches the target in very few " + "value-gradient calls from random or recycled starts, " + "but exact QGT construction makes wall time larger on " + "this small CPU run.", + "- Recycling reduces target-workload calls. Its source " + f"cost is {source['time_to_target_seconds']:.3f} s and " + "is reported separately; it should only be amortized " + "when a continuation schedule actually reuses that " + "solution.", + "- Statevector wins this tiny workload. Spatial and " + "Z2-native programs remain exact scalable candidates; " + "their asymptotic memory advantages are not expected " + "to dominate at four qubits.", + "", + "## Interpretation boundary", + "", + "The report establishes a reproducible end-to-solution " + "method and exposes optimizer/initialization failure " + "modes. It does not claim that one optimizer or tensor " + "representation is universally best.", + "", + ] + ) + destination.write_text( + "\n".join(lines), + encoding="utf-8", + ) + + +def generate_training_report( + output: Path, + findings: Path, + *, + timeout_seconds: float = 900, +) -> dict[str, Any]: + """Run the fixed comparison and write JSON plus Markdown.""" + + source = run_training_fresh_process( + _source_request(), + timeout_seconds=timeout_seconds, + ) + if not source.converged: + raise RuntimeError( + "recycling source failed to converge" + ) + runs = [ + _run_entry(identifier, request, timeout_seconds) + for identifier, request in benchmark_requests(source) + ] + payload = { + "schema_version": 1, + "generated_at": datetime.now(UTC).isoformat(), + "environment": _environment(), + "method": { + "fresh_process_per_run": True, + "unique_jax_cache_per_run": True, + "synchronization": "jax.block_until_ready", + "target_includes_compile": True, + }, + "recycling_source": source.to_dict(), + "runs": runs, + "derived": _derived(source, runs), + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", + ) + findings.parent.mkdir(parents=True, exist_ok=True) + _write_markdown(payload, findings) + return payload + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--output", required=True, type=Path) + parser.add_argument("--findings", required=True, type=Path) + parser.add_argument( + "--timeout-seconds", + type=float, + default=900, + ) + args = parser.parse_args(argv) + payload = generate_training_report( + args.output, + args.findings, + timeout_seconds=args.timeout_seconds, + ) + print( + f"runs={len(payload['runs'])} " + f"best={payload['derived']['best_run_id']}" + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_spec.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_spec.py new file mode 100644 index 000000000..8ccd61b03 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_spec.py @@ -0,0 +1,317 @@ +"""Validated contracts for VQE time-to-solution experiments.""" + +from __future__ import annotations + +from dataclasses import asdict, dataclass, field +from math import isfinite +from typing import Any, Literal + +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) + +OptimizerName = Literal[ + "adam", + "lbfgs", + "natural-gradient", +] +InitializationName = Literal[ + "zeros", + "random", + "recycled", +] +ParametersPayload = tuple[ + tuple[tuple[float, ...], tuple[float, ...]], + ..., +] + + +def _parameters_from_value( + value: Any, +) -> ParametersPayload: + return tuple( + ( + tuple(float(item) for item in layer[0]), + tuple(float(item) for item in layer[1]), + ) + for layer in value + ) + + +def _program_from_dict( + payload: dict[str, Any], +) -> ProgramConfig | SpatialProgramConfig: + if payload.get("representation") == "spatial_transfer": + return SpatialProgramConfig.from_dict(payload) + return ProgramConfig.from_dict(payload) + + +@dataclass(frozen=True) +class VQETrainingRequest: + """One complete optimizer/program/initialization experiment.""" + + spec: TFIMVQESpec + program: ProgramConfig | SpatialProgramConfig + optimizer: OptimizerName + initialization: InitializationName + target_energy_error: float + max_steps: int + seed: int = 0 + learning_rate: float = 0.05 + damping: float = 1e-3 + ground_energy: float | None = None + recycled_source_spec: TFIMVQESpec | None = None + recycled_parameters: ParametersPayload | None = None + + def __post_init__(self) -> None: + if not isinstance( + self.program, + (ProgramConfig, SpatialProgramConfig), + ): + raise ValueError( + "training program must be statevector or spatial" + ) + if self.optimizer not in ( + "adam", + "lbfgs", + "natural-gradient", + ): + raise ValueError( + f"unsupported optimizer: {self.optimizer}" + ) + if self.initialization not in ( + "zeros", + "random", + "recycled", + ): + raise ValueError( + "unsupported initialization: " + f"{self.initialization}" + ) + if ( + self.target_energy_error <= 0 + or not isfinite(self.target_energy_error) + ): + raise ValueError( + "target_energy_error must be finite and positive" + ) + if self.max_steps < 1: + raise ValueError("max_steps must be positive") + if ( + self.learning_rate <= 0 + or not isfinite(self.learning_rate) + ): + raise ValueError( + "learning_rate must be finite and positive" + ) + if self.damping <= 0 or not isfinite(self.damping): + raise ValueError( + "damping must be finite and positive" + ) + if ( + self.ground_energy is not None + and not isfinite(self.ground_energy) + ): + raise ValueError("ground_energy must be finite") + + recycling_values = ( + self.recycled_source_spec, + self.recycled_parameters, + ) + if self.initialization == "recycled": + if any(value is None for value in recycling_values): + raise ValueError( + "recycled initialization requires source " + "spec and parameters" + ) + assert self.recycled_source_spec is not None + assert self.recycled_parameters is not None + expected = ( + self.recycled_source_spec.depth, + 2, + self.recycled_source_spec.nqubits, + ) + actual = ( + len(self.recycled_parameters), + ( + len(self.recycled_parameters[0]) + if self.recycled_parameters + else 0 + ), + ( + len(self.recycled_parameters[0][0]) + if self.recycled_parameters + else 0 + ), + ) + if actual != expected or any( + len(row) + != self.recycled_source_spec.nqubits + for layer in self.recycled_parameters + for row in layer + ): + raise ValueError( + "recycled parameter shape does not match " + "source spec" + ) + elif any(value is not None for value in recycling_values): + raise ValueError( + "recycled source is only valid for recycled " + "initialization" + ) + + def to_dict(self) -> dict[str, Any]: + return { + "spec": self.spec.to_dict(), + "program": self.program.to_dict(), + "optimizer": self.optimizer, + "initialization": self.initialization, + "target_energy_error": self.target_energy_error, + "max_steps": self.max_steps, + "seed": self.seed, + "learning_rate": self.learning_rate, + "damping": self.damping, + "ground_energy": self.ground_energy, + "recycled_source_spec": ( + self.recycled_source_spec.to_dict() + if self.recycled_source_spec is not None + else None + ), + "recycled_parameters": ( + [ + [list(row) for row in layer] + for layer in self.recycled_parameters + ] + if self.recycled_parameters is not None + else None + ), + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> VQETrainingRequest: + values = dict(payload) + values["spec"] = TFIMVQESpec.from_dict( + values["spec"] + ) + values["program"] = _program_from_dict( + values["program"] + ) + if values.get("recycled_source_spec") is not None: + values["recycled_source_spec"] = ( + TFIMVQESpec.from_dict( + values["recycled_source_spec"] + ) + ) + if values.get("recycled_parameters") is not None: + values["recycled_parameters"] = ( + _parameters_from_value( + values["recycled_parameters"] + ) + ) + return cls(**values) + + +@dataclass(frozen=True) +class VQEStep: + """One synchronized expensive objective evaluation.""" + + evaluation: int + optimizer_step: int + energy: float + energy_error: float + gradient_norm: float + elapsed_seconds: float + metric_condition: float | None = None + + def to_dict(self) -> dict[str, Any]: + return asdict(self) + + @classmethod + def from_dict(cls, payload: dict[str, Any]) -> VQEStep: + return cls(**payload) + + +@dataclass(frozen=True) +class VQETrainingResult: + """Measured outcome of one complete VQE training run.""" + + request: VQETrainingRequest + converged: bool + evaluations: int + optimizer_steps: int + compile_seconds: float + first_execute_seconds: float + optimization_seconds: float + time_to_target_seconds: float | None + total_seconds: float + peak_rss_bytes: int + ground_energy: float + target_energy: float + final_energy: float + final_parameters: ParametersPayload + trace: tuple[VQEStep, ...] + initialization_provenance: dict[str, Any] = field( + default_factory=dict + ) + failure: str | None = None + skipped: bool = False + + def to_dict(self) -> dict[str, Any]: + return { + "request": self.request.to_dict(), + "program_label": self.request.program.label, + "converged": self.converged, + "evaluations": self.evaluations, + "optimizer_steps": self.optimizer_steps, + "compile_seconds": self.compile_seconds, + "first_execute_seconds": ( + self.first_execute_seconds + ), + "optimization_seconds": ( + self.optimization_seconds + ), + "time_to_target_seconds": ( + self.time_to_target_seconds + ), + "total_seconds": self.total_seconds, + "peak_rss_bytes": self.peak_rss_bytes, + "ground_energy": self.ground_energy, + "target_energy": self.target_energy, + "final_energy": self.final_energy, + "final_parameters": [ + [list(row) for row in layer] + for layer in self.final_parameters + ], + "trace": [ + item.to_dict() for item in self.trace + ], + "initialization_provenance": ( + self.initialization_provenance + ), + "failure": self.failure, + "skipped": self.skipped, + } + + @classmethod + def from_dict( + cls, + payload: dict[str, Any], + ) -> VQETrainingResult: + values = dict(payload) + values.pop("program_label", None) + values["request"] = VQETrainingRequest.from_dict( + values["request"] + ) + values["final_parameters"] = _parameters_from_value( + values["final_parameters"] + ) + values["trace"] = tuple( + VQEStep.from_dict(item) + for item in values["trace"] + ) + return cls(**values) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_worker.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_worker.py new file mode 100644 index 000000000..cd2751654 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/training_worker.py @@ -0,0 +1,43 @@ +"""Fresh-process worker for one measured VQE training request.""" + +from __future__ import annotations + +import argparse +import json +import os +from pathlib import Path + +from vqetape.training import train_vqe +from vqetape.training_spec import VQETrainingRequest + + +def _parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + parser.add_argument("--request", required=True, type=Path) + parser.add_argument("--output", required=True, type=Path) + return parser + + +def main(argv: list[str] | None = None) -> int: + args = _parser().parse_args(argv) + request = VQETrainingRequest.from_dict( + json.loads(args.request.read_text(encoding="utf-8")) + ) + result = train_vqe(request) + payload = result.to_dict() + payload["worker_pid"] = os.getpid() + payload["parent_pid"] = os.getppid() + + temporary = args.output.with_suffix( + args.output.suffix + ".tmp" + ) + temporary.write_text( + json.dumps(payload, indent=2, allow_nan=False), + encoding="utf-8", + ) + temporary.replace(args.output) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/worker.py b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/worker.py new file mode 100644 index 000000000..15a18e59b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/src/vqetape/worker.py @@ -0,0 +1,352 @@ +"""Fresh-process benchmark worker used by :mod:`vqetape.benchmark`.""" + +from __future__ import annotations + +import argparse +import json +import os +import resource +import sys +import time +from pathlib import Path +from typing import Any + +import jax +import numpy as np + +from vqetape.ad_analysis import analyze_spatial_transfer +from vqetape.estimate import estimate_program +from vqetape.metrics import median_and_mad +from vqetape.programs import build_value_and_grad +from vqetape.selection import CandidateResult +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spatial_programs import ( + build_spatial_energy, + modeled_spatial_checkpoint_count, +) +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, + TensorProgramConfig, + dtype_bytes, +) +from vqetape.tape import profile_saved_residuals +from vqetape.tn_vqe import build_tn_energy +from vqetape.symmetry import ( + z2_boundary_sector, + z2_symmetry_applicability, +) + + +def _synchronize(value: Any) -> Any: + return jax.block_until_ready(value) + + +def _peak_rss_bytes() -> int: + peak = int(resource.getrusage(resource.RUSAGE_SELF).ru_maxrss) + return peak if sys.platform == "darwin" else peak * 1024 + + +def _memory_analysis(compiled: Any) -> dict[str, int | float | None]: + try: + analysis = compiled.memory_analysis() + except (AttributeError, RuntimeError, TypeError): + return {} + if analysis is None: + return {} + result: dict[str, int | float | None] = {} + for name in dir(analysis): + if name.startswith("_"): + continue + try: + value = getattr(analysis, name) + except (AttributeError, RuntimeError): + continue + if callable(value) or not isinstance(value, (int, float, type(None))): + continue + result[name] = value + return result + + +def _parameters(spec: TFIMVQESpec, seed: int): + rng = np.random.default_rng(seed) + real_dtype = np.float32 if spec.dtype == "complex64" else np.float64 + return np.asarray( + rng.normal(loc=0.0, scale=0.1, size=spec.parameter_shape), + dtype=real_dtype, + ) + + +def run_worker(payload: dict[str, Any]) -> CandidateResult: + spec = TFIMVQESpec.from_dict(payload["spec"]) + program_kind = payload.get("program_kind", "statevector") + if program_kind == "direct_tn": + config = TensorProgramConfig.from_dict(payload["config"]) + elif program_kind == "spatial_transfer": + config = SpatialProgramConfig.from_dict(payload["config"]) + else: + config = ProgramConfig.from_dict(payload["config"]) + theta = _parameters(spec, int(payload["seed"])) + if isinstance(config, TensorProgramConfig): + energy_function, path_program, remat_steps = build_tn_energy( + spec, + path_strategy=config.path_strategy, + remat_policy=config.remat_policy, + threshold_bytes=config.threshold_bytes, + explicit_path=config.path, + subtree_depth=config.subtree_depth, + save_names=config.save_names, + gate_representation=config.gate_representation, + hamiltonian_representation=( + config.hamiltonian_representation + ), + ) + residual_profile = profile_saved_residuals(energy_function, theta) + executable = jax.jit(jax.value_and_grad(energy_function)) + contractions_per_energy = ( + 2 * spec.nqubits - 1 + if config.hamiltonian_representation == "pauli_sum" + else 1 + ) + static_estimate = { + "gate_representation": config.gate_representation, + "hamiltonian_representation": ( + config.hamiltonian_representation + ), + "tensor_count": path_program.tensor_count, + "input_tensor_elements": path_program.input_tensor_elements, + "path_flops": path_program.flops, + "contractions_per_energy": contractions_per_energy, + "estimated_energy_flops": ( + path_program.flops * contractions_per_energy + ), + "estimated_energy_tensor_bindings": ( + path_program.tensor_count * contractions_per_energy + ), + "largest_intermediate_elements": ( + path_program.largest_intermediate_elements + ), + "contraction_steps": len(path_program.steps), + "rematerialized_steps": ( + max(0, 2 * len(path_program.steps) - len(remat_steps)) + if config.remat_policy == "named" + else len(remat_steps) + ), + "rematerialized_units": ( + max(0, 2 * len(path_program.steps) - len(remat_steps)) + if config.remat_policy == "named" + else len(remat_steps) + ), + "saved_named_units": ( + len(config.save_names) + if config.save_names is not None + else 0 + ), + "max_step_output_bytes": max(path_program.step_output_bytes), + "residual_profile": residual_profile.to_dict(), + } + elif isinstance(config, SpatialProgramConfig): + transfer = plan_spatial_transfer( + spec, + config.path_strategy, + explicit_paths=config.column_paths, + block_width=config.block_width, + ) + energy_function = build_spatial_energy(spec, config) + residual_profile = profile_saved_residuals( + energy_function, + theta, + ) + executable = jax.jit(jax.value_and_grad(energy_function)) + bulk_flops = ( + transfer.bulk.flops + if transfer.bulk is not None + else 0 + ) + tail_flops = ( + transfer.tail.flops + if transfer.tail is not None + else 0 + ) + boundary_bytes = ( + transfer.boundary_dimension * dtype_bytes(spec.dtype) + ) + symmetry_sector = None + if config.symmetry != "none": + applicable, reason = z2_symmetry_applicability( + spec + ) + if not applicable: + raise ValueError(reason) + symmetry_sector = z2_boundary_sector( + transfer.boundary_shape + ) + recurrent_boundary_dimension = ( + symmetry_sector.active_count + if symmetry_sector is not None + else transfer.boundary_dimension + ) + recurrent_boundary_bytes = ( + recurrent_boundary_dimension + * dtype_bytes(spec.dtype) + ) + checkpoint_count = modeled_spatial_checkpoint_count( + spec, + config, + ) + static_estimate = { + "representation": "spatial_transfer", + "path_strategy": config.path_strategy, + "adjoint": config.adjoint, + "symmetry": config.symmetry, + "unroll": config.unroll, + "block_width": config.block_width, + "segment_length": config.segment_length, + "boundary_rank": len(transfer.boundary_shape), + "boundary_shape": list(transfer.boundary_shape), + "boundary_dimension": transfer.boundary_dimension, + "boundary_bytes": boundary_bytes, + "recurrent_boundary_dimension": ( + recurrent_boundary_dimension + ), + "recurrent_boundary_bytes": ( + recurrent_boundary_bytes + ), + "symmetry_sector": ( + symmetry_sector.to_dict() + if symmetry_sector is not None + else None + ), + "symmetry_execution": ( + "dense" + if config.symmetry == "none" + else ( + "expand-contract-gather-reference" + if config.symmetry == "z2-reference" + else "bcoo-native" + ) + ), + "bulk_columns": max(0, spec.nqubits - 2), + "bulk_blocks": transfer.bulk_block_count, + "tail_width": transfer.tail_width, + "first_path_flops": transfer.first.flops, + "bulk_path_flops": bulk_flops, + "bulk_block_path_flops": bulk_flops, + "tail_path_flops": tail_flops, + "last_path_flops": transfer.last.flops, + "estimated_energy_flops": ( + transfer.first.flops + + transfer.bulk_block_count * bulk_flops + + tail_flops + + transfer.last.flops + ), + "modeled_checkpoint_boundaries": checkpoint_count, + "modeled_checkpoint_bytes": ( + checkpoint_count + * recurrent_boundary_bytes + ), + "first_largest_intermediate_elements": ( + transfer.first.largest_intermediate_elements + ), + "bulk_largest_intermediate_elements": ( + transfer.bulk.largest_intermediate_elements + if transfer.bulk is not None + else 0 + ), + "tail_largest_intermediate_elements": ( + transfer.tail.largest_intermediate_elements + if transfer.tail is not None + else 0 + ), + "last_largest_intermediate_elements": ( + transfer.last.largest_intermediate_elements + ), + "differentiated_cost": ( + analyze_spatial_transfer(transfer).to_dict() + ), + "residual_profile": residual_profile.to_dict(), + } + else: + executable = build_value_and_grad(spec, config) + static_estimate = estimate_program(spec, config).to_dict() + + lower_started = time.perf_counter() + lowered = executable.lower(theta) + compiled = lowered.compile() + compile_seconds = time.perf_counter() - lower_started + + first_started = time.perf_counter() + first_energy, first_gradient = compiled(theta) + _synchronize((first_energy, first_gradient)) + first_execute_seconds = time.perf_counter() - first_started + + warm_times: list[float] = [] + final_energy = first_energy + final_gradient = first_gradient + for _ in range(int(payload["warm_repeats"])): + started = time.perf_counter() + final_energy, final_gradient = compiled(theta) + _synchronize((final_energy, final_gradient)) + warm_times.append(time.perf_counter() - started) + warm_median, warm_mad = median_and_mad(warm_times) + + return CandidateResult( + config=config, + compile_seconds=compile_seconds, + first_execute_seconds=first_execute_seconds, + warm_seconds_median=warm_median, + warm_seconds_mad=warm_mad, + peak_rss_bytes=_peak_rss_bytes(), + energy_abs_error=0.0, + gradient_relative_l2_error=0.0, + valid=True, + worker_pid=os.getpid(), + parent_pid=int(payload["parent_pid"]), + energy=float(np.asarray(final_energy)), + gradient=np.asarray(final_gradient).tolist(), + jax_memory_analysis=_memory_analysis(compiled), + static_estimate=static_estimate, + ) + + +def _write_json_atomic(path: Path, payload: dict[str, Any]) -> None: + temporary = path.with_suffix(path.suffix + ".tmp") + temporary.write_text(json.dumps(payload, allow_nan=False), encoding="utf-8") + os.replace(temporary, path) + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--request-json", required=True, type=Path) + parser.add_argument("--result-json", required=True, type=Path) + args = parser.parse_args(argv) + + try: + payload = json.loads(args.request_json.read_text(encoding="utf-8")) + result = run_worker(payload) + except Exception as exc: + config_payload = payload.get("config") if "payload" in locals() else None + if config_payload is None: + raise + representation = config_payload.get("representation") + if representation == "direct_tn": + failed_config = TensorProgramConfig.from_dict(config_payload) + elif representation == "spatial_transfer": + failed_config = SpatialProgramConfig.from_dict(config_payload) + else: + failed_config = ProgramConfig.from_dict(config_payload) + result = CandidateResult( + config=failed_config, + valid=False, + failure=f"{type(exc).__name__}: {exc}", + worker_pid=os.getpid(), + parent_pid=payload.get("parent_pid"), + peak_rss_bytes=_peak_rss_bytes(), + ) + _write_json_atomic(args.result_json, result.to_dict()) + return 0 if result.valid else 1 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/artifact-manifest.json b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/artifact-manifest.json new file mode 100644 index 000000000..7ae68c9b0 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/artifact-manifest.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "generated_at": "2026-07-30T17:59:47+08:00", + "evidence_commit": "748c5e974573e11a22e639dfe76ff00be9819f78", + "challenge_issue": "https://github.com/QuantumBFS/quantum.harness/issues/33", + "pull_request": "https://github.com/QuantumBFS/quantum.harness/pull/263", + "public_showcase": "https://github.com/JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe", + "artifacts": [ + { + "path": "submission/vqetape-matched-benchmark.tsv", + "bytes": 1096, + "sha256": "5d80640912f9f5cfa2be365c1c0d1996b8baafabb4936e0c62520180b202e455" + }, + { + "path": "submission/submission-status.txt", + "bytes": 1641, + "sha256": "a15f161fc2a3820e83c102dd70c0ab1f0f1562d0127e0e3672f9528c6b790f5b" + }, + { + "path": "submission/vqetape-technical-report.md", + "bytes": 7676, + "sha256": "450716da50b128ffdcacec93299a0d13bd575f38b1aa11f1ff419efc58e9e9e5" + }, + { + "path": "submission/report.json", + "bytes": 3373, + "sha256": "336f346ea154b843d76e22e9628152e3b4bf114bc577e890c712f988000a0fc8" + }, + { + "path": "submission/report.html", + "bytes": 5497, + "sha256": "e27471d2ab5dfd6b2da25e12a6c8f3578e7a8ffe21a600ae31378f3942688e75" + }, + { + "path": "submission/output/pdf/vqetape-technical-report.pdf", + "bytes": 79020, + "sha256": "0e902d921f233901abec51e0c1304bdfac16e00b99c6f94cbf99659570959b0e" + } + ], + "canonical_evidence": [ + { + "path": "outputs/tensorcircuit-ng-fig2-rtx3080-smoke-n6-l3-run.json", + "bytes": 3756, + "sha256": "bf2eaecb2943e971ce8dd45968e362de6056ab3ad95234f74275dbfccc7911d5" + }, + { + "path": "outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json", + "bytes": 6663, + "sha256": "25a0e6ae819582410ca87492eb03a73f1c1aff1a7df5125d5509acae62e0ac9b" + }, + { + "path": "outputs/vqetape-ansatz-report.json", + "bytes": 105602, + "sha256": "a990d926e715003a1414596947aafa8b01ebfed0b3c06240be5e7674737acf66" + }, + { + "path": "outputs/vqetape-gpu-rtx3090-direct-tn-n10-d4.json", + "bytes": 27409, + "sha256": "a7524d95258541ac8406f8a432801ffadb1f9a11b14b24f02aa603e7fa64d407" + }, + { + "path": "outputs/vqetape-gpu-rtx3090-spatial-n10-d4.json", + "bytes": 23133, + "sha256": "d16cb5e47ff73cc4d17f5cb6560da02615233be0eb103a29c948e261007b169a" + }, + { + "path": "outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json", + "bytes": 9097, + "sha256": "07fc84c765d8f0d8d070c114e08cfe0886ae0a8ff2e8270905c915164a2ae93b" + } + ] +} diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/output/pdf/vqetape-technical-report.pdf b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/output/pdf/vqetape-technical-report.pdf new file mode 100644 index 000000000..d180a6685 Binary files /dev/null and b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/output/pdf/vqetape-technical-report.pdf differ diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.html b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.html new file mode 100644 index 000000000..5db9ea3eb --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.html @@ -0,0 +1,33 @@ + + +VQETape Technical Report +
+
Quantum Circuit Simulation - Challenge #33

VQETape

A differentiated co-design compiler for exact VQE.

Team Ranger - Junkai Wang   |   Pull request #263   |   Public showcase

+

Executive result

+
8.2%
amortized objective improvement
VQETape spatial vs TensorCircuit-NG
+
28.3%
host peak RSS reduction
matched RTX 3090 job
+
3.38 ms
VQ warm frontier
2.66 ms TC-NG reference
+

Compiler thesis. Compile the forward contraction, reverse program, and variational ansatz as one optimization problem. The measured warm reference and validated Fig. 2 protocol define the next optimization and scale-up targets.

+

Matched RTX 3090 evidence

Open TFIM, n=10, L=4, plus state, RZZ then RX, seed 33, complex64, five synchronized warm repeats. Objective = compile + first + 100 warm.

+
ImplementationCompile sFirst sWarm msObjective sRSS MiBNVML MiBCorrect
TensorCircuit-NG / OMECo17.77990.22632.657718.2720661.3272VALIDATED
VQETape / statevector28.72130.40253.378529.4617462.4272VALIDATED
VQETape / direct TN45.65440.13765.049846.2970575.0274VALIDATED
VQETape / spatial block-215.58160.36368.328116.7781473.9274VALIDATED
+

What was built

Differentiated programs
Forward path, algebraic transpose, live residuals, and checkpoint schedules.
Exact spatial lowering
First/bulk/tail/last recurrence with a compact exact boundary.
Adaptive ansatz compiler
Commutator-complete candidates ranked by physics signal and contraction cost.
+

Verification

  • 406 tests passed; six declared structural cases.
  • 17 targeted TensorCircuit-NG baseline/Fig. 2 tests passed.
  • All 27 evidence JSON files parse; source modules compile.
  • TensorCircuit-NG job 23020496 and Fig. 2 job 23027373 completed with validated correctness.
+

Reproduce

python3.12 -m venv .venv
+.venv/bin/python -m pip install -e '.[test,baseline]'
+.venv/bin/python -m pytest -q
+python scripts/build_submission_report.py

The full narrative is available in vqetape-technical-report.md; exact rows are in vqetape-matched-benchmark.tsv.

+ +
\ No newline at end of file diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.json b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.json new file mode 100644 index 000000000..93993480e --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/report.json @@ -0,0 +1,111 @@ +{ + "title": "VQETape: a differentiated co-design compiler for exact VQE", + "eyebrow": "Quantum Circuit Simulation Track", + "url": "https://github.com/QuantumBFS/quantum.harness/pull/263", + "showcase_url": "https://github.com/JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe", + "lede": "Compile the forward contraction, reverse program, and variational ansatz as one optimization problem. The matched result improves the 100-step objective by 8.2% and host RSS by 28.3%.", + "evidence_commit": "748c5e974573e11a22e639dfe76ff00be9819f78", + "sections": [ + { + "title": "Challenge", + "blocks": [ + { + "kind": "text", + "text": "Build an auto-evaluated VQE simulation harness that exceeds the TensorCircuit-NG baseline in time and space efficiency." + }, + { + "kind": "kv", + "pairs": { + "Issue": "https://github.com/QuantumBFS/quantum.harness/issues/33", + "Track": "qcs", + "Matched system": "RTX 3090; TFIM n=10, L=4" + } + } + ] + }, + { + "title": "Approach", + "blocks": [ + { + "kind": "badge", + "text": "Exact simulation" + }, + { + "kind": "text", + "text": "Joint compilation of representation, contraction path, reverse program, saved residuals, checkpoints, symmetry, optimizer, initialization, and ansatz growth." + } + ] + }, + { + "title": "Results", + "blocks": [ + { + "kind": "verdict", + "status": "demonstrated", + "text": "Demonstrated amortized objective (16.7781 s vs 18.2720 s) and host RSS (473.9 vs 661.3 MiB); measured warm frontier (3.3785 ms VQETape vs 2.6577 ms TensorCircuit-NG reference)." + }, + { + "kind": "table", + "columns": [ + "Implementation", + "Compile s", + "First s", + "Warm ms", + "Objective s", + "RSS MiB" + ], + "rows": [ + [ + "TensorCircuit-NG / OMECo", + 17.7799, + 0.2263, + 2.6577, + 18.272, + 661.3 + ], + [ + "VQETape / statevector", + 28.7213, + 0.4025, + 3.3785, + 29.4617, + 462.4 + ], + [ + "VQETape / direct TN", + 45.6544, + 0.1376, + 5.0498, + 46.297, + 575.0 + ], + [ + "VQETape / spatial block-2", + 15.5816, + 0.3636, + 8.3281, + 16.7781, + 473.9 + ] + ] + } + ] + }, + { + "title": "Highlight", + "blocks": [ + { + "kind": "card", + "title": "What is innovative", + "text": "A differentiated contraction-program search plus exact spatial transfer, physics-aware reductions, and commutator-complete ansatz/optimizer co-design." + }, + { + "kind": "card", + "title": "Research frontier", + "text": "Warm-kernel fusion and the N=32,L=16 Fig. 2 execution are the next measured optimization and scale-up targets." + } + ] + } + ], + "evidence_git_head": "748c5e974573e11a22e639dfe76ff00be9819f78" +} diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/submission-status.txt b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/submission-status.txt new file mode 100644 index 000000000..85ac62c27 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/submission-status.txt @@ -0,0 +1,36 @@ +VQETape Issue #33 delivery highlights +Generated from committed evidence snapshot: 748c5e974573e11a22e639dfe76ff00be9819f78 + +VALIDATED PROTOCOL +Hardware: one NVIDIA RTX 3090, Slurm node c05r05 +Workload: open-boundary TFIM, n=10, L=4, plus state, RZZ then RX, seed=33, complex64 +Correctness: all four matched implementations satisfy energy and full-gradient tolerances + +DEMONSTRATED RESULT - AMORTIZED TIME OBJECTIVE +TensorCircuit-NG compile + first + 100 warm: 18.2720 s +VQETape spatial compile + first + 100 warm: 16.7781 s +VQETape spatial improvement: 8.2% + +DEMONSTRATED RESULT - HOST PROCESS MEMORY +TensorCircuit-NG peak RSS: 661.3 MiB +VQETape spatial peak RSS: 473.9 MiB +VQETape spatial reduction: 28.3% + +MEASURED TRADE-OFF - SUBSEQUENT WARM RUNTIME +TensorCircuit-NG warm median: 2.6577 ms +VQETape statevector warm median: 3.3785 ms +VQETape spatial warm median: 8.3281 ms +The current VQETape statevector warm frontier is 1.27x the TensorCircuit-NG reference. + +MEASURED TRADE-OFF - DEVICE MEMORY +Sampled Slurm job NVML peaks span 272-274 MiB at this size. + +VALIDATED PROTOCOL - PAPER FIGURE 2 +The exact SU(4) find/execute protocol and safe JSON path artifact are implemented. +An RTX 3080 N=6,L=3 execution satisfies direct energy and gradient comparison. + +SCALE-UP TARGET +N=32,L=16 on paper-comparable hardware using the validated Fig. 2 protocol. + +RESEARCH THESIS +VQETape compiles the forward contraction, reverse program, and variational ansatz as one optimization problem. The repository, same-machine baseline, complete data trail, and reviewer package establish a reproducible platform for the next warm-kernel and scale-up frontier. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-matched-benchmark.tsv b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-matched-benchmark.tsv new file mode 100644 index 000000000..9e650c2d2 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-matched-benchmark.tsv @@ -0,0 +1,5 @@ +implementation slurm_job compile_s first_s warm_ms warm_mad_ms objective_s host_rss_mib nvml_mib energy_abs_error gradient_rel_l2_error correctness_passed source_json +TensorCircuit-NG / OMECo 23020496 17.77991282311268 0.22626981395296752 2.6577371172606945 0.006979098543524742 18.27195634879172 661.30859375 272 3.814697265625e-06 6.190737338368928e-07 True outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json +VQETape / statevector 23015042 28.72131058690138 0.40249974513426423 3.378501860424876 0.02310890704393387 29.461660518078133 462.37109375 272 0.0 0.0 True outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json +VQETape / direct TN 23015037 45.654404842993245 0.1375827321317047 5.049813073128462 0.06686011329293251 46.296968882437795 574.984375 274 9.5367431640625e-07 4.183984200290997e-07 True outputs/vqetape-gpu-rtx3090-direct-tn-n10-d4.json +VQETape / spatial block-2 23015038 15.581619282020256 0.36361847585067153 8.328126044943929 0.026900088414549828 16.77805036236532 473.90625 274 3.814697265625e-06 9.145179351854609e-07 True outputs/vqetape-gpu-rtx3090-spatial-n10-d4.json diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-technical-report.md b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-technical-report.md new file mode 100644 index 000000000..073e3146e --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/submission/vqetape-technical-report.md @@ -0,0 +1,102 @@ +# VQETape: A Differentiated Co-Design Compiler for Exact VQE + +**Challenge:** [QuantumBFS/quantum.harness #33](https://github.com/QuantumBFS/quantum.harness/issues/33) + +**Team:** Ranger - Junkai Wang + +**Pull request:** [QuantumBFS/quantum.harness #263](https://github.com/QuantumBFS/quantum.harness/pull/263) + +**Public showcase:** [JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe](https://github.com/JunkaiWang-TheoPhy/issue-33-extreme-efficiency-vqe) + +**Evidence snapshot:** `748c5e974573e11a22e639dfe76ff00be9819f78` + +**Report date:** 2026-07-30 + +> Compile the forward contraction, reverse program, and variational ansatz as one optimization problem. + +## Executive result + +VQETape is an exact, auto-evaluated compiler that searches tensor representation, contraction path, reverse program, saved residuals, checkpoint schedule, symmetry sector, classical optimizer, initialization, and ansatz growth. A controlled same-node TensorCircuit-NG 1.8.0 baseline anchors the result. + +On the matched RTX 3090 workload, VQETape spatial transfer is **8.2% faster** for `compile + first + 100 warm` and uses **28.3% less host peak RSS** than TensorCircuit-NG. The same measurement identifies a precise next frontier: TensorCircuit-NG records a 2.6577 ms warm reference, while VQETape statevector records 3.3785 ms. Job-level device samples span 272-274 MiB. + +| Result area | Status | Evidence | +|---|---|---| +| Auto-iteratable and auto-evaluatable harness | Demonstrated result | Candidate search, isolated workers, exact value-gradient gates, JSON reports, 406-test regression | +| First-time / amortized time efficiency | Demonstrated result | 18.2720 s TensorCircuit-NG vs 16.7781 s VQETape spatial | +| Host space efficiency | Demonstrated result | 661.3 MiB vs 473.9 MiB | +| Subsequent warm runtime | Next optimization frontier | 2.6577 ms TensorCircuit-NG reference vs 3.3785 ms VQETape statevector | +| Device-memory measurement | Measured trade-off | sampled job peaks 272-274 MiB | +| TensorCircuit-NG Fig. 2 construction | Validated protocol | direct value-gradient comparison at `N=6,L=3` | +| Paper-scale Fig. 2 execution | Scale-up target | `N=32,L=16` on paper-comparable hardware | + +## Problem and protocol + +The core kernel is `theta -> (E(theta), grad E(theta))` for the open-boundary transverse-field Ising model + +`H = -J sum_i Z_i Z_(i+1) - g sum_i X_i`, with `J=g=1`. + +The matched comparison uses one RTX 3090 on Slurm node `c05r05`, `n=10`, depth `L=4`, the plus initial state, RZZ then RX per layer, seed 33, complex64, five synchronized warm repeats, and highest JAX matmul precision. Every candidate is checked against an exact statevector value and complete gradient. + +The declared selection objective is: + +`T_objective = T_compile + T_first + 100 * median(T_warm)`. + +## Matched RTX 3090 result + +| Implementation | Compile (s) | First (s) | Warm median (ms) | Objective (s) | Host RSS (MiB) | NVML (MiB) | Correct | +|---|---:|---:|---:|---:|---:|---:|---| +| TensorCircuit-NG / OMECo | 17.7799 | 0.2263 | 2.6577 | 18.2720 | 661.3 | 272 | VALIDATED | +| VQETape / statevector | 28.7213 | 0.4025 | 3.3785 | 29.4617 | 462.4 | 272 | VALIDATED | +| VQETape / direct TN | 45.6544 | 0.1376 | 5.0498 | 46.2970 | 575.0 | 274 | VALIDATED | +| VQETape / spatial block-2 | 15.5816 | 0.3636 | 8.3281 | 16.7781 | 473.9 | 274 | VALIDATED | + +The spatial program crosses the selected amortized threshold because its compile time is 2.1983 s lower. Steady-state measurements define a complementary design point: its warm call is 3.13x the TensorCircuit-NG reference, while the statevector path is 1.27x. The 2 MiB NVML spread is reported as a measured range. + +## System design and technical contribution + +VQETape treats VQE performance as a joint compiler problem instead of optimizing a single contraction: + +1. **Exact representations:** statevector, direct bra-operator-ket tensor network, and an exact spatial-transfer lowering with a bond-dimension-three TFIM MPO. +2. **Program search:** contraction path, block width, scan/unroll policy, reverse-mode residual strategy, rematerialization, and checkpoint placement. +3. **Physics-aware reductions:** an exact global-X Z2 sector is enabled only when the Hamiltonian, initial state, and ansatz preserve it. +4. **End-to-end VQE co-design:** Adam, L-BFGS-B, exact-QGT natural gradient, initialization/recycling, and adaptive ansatz growth are evaluated with compile and optimizer overhead included. +5. **Auditable execution:** candidates run in fresh processes, record machine-readable JSON, keep memory semantics separate, and enter selection only after value-gradient validation. + +Two technical contributions go beyond a benchmark wrapper. First, explicit contraction-tree VJPs expose logical-tape/runtime trade-offs hidden from forward-only path scores. Second, a commutator-complete YZ/ZY adaptive pool expands the tangent space beyond the stationary X/ZZ pool: the adaptive 10-parameter circuit reaches `5.05e-11` energy error, while the 14-parameter fixed control records `1.70e-07` under the audited budget. + +## TensorCircuit-NG Fig. 2 protocol + +The separate Fig. 2 runner encodes the paper's SU(4) ladder ansatz, `15 * L * (N-1)` parameters, TensorNetwork FiniteTFI MPO, contraction-path search, slicing configuration, and checksum-bound safe JSON path artifacts. On an NVIDIA RTX 3080, the `N=6,L=3` execution (225 parameters) records energy error `2.38e-07` and gradient relative L2 error `3.29e-07`. This validates construction and artifact replay; `N=32,L=16` is the declared scale-up target. + +## Verification and provenance + +- Fresh full regression: `406 passed, 6 declared structural cases in 2069.58s`. +- Targeted matched-baseline and Fig. 2 suite: `17 passed`. +- All 27 committed JSON reports parse; all `src/vqetape` Python modules compile; `git diff --check` passes. +- TensorCircuit-NG job `23020496` completed on `c05r05`, reported `cuda:0`, passed strict energy/gradient tolerances, and passed SHA256 provenance checks. +- Fig. 2 smoke job `23027373` completed on an RTX 3080 and passed direct unsliced value-gradient comparison. + +## Measured trade-offs and research frontier + +Every explored design remains visible in the evidence layer: sparse Z2 metadata trades a smaller exact carry for CPU bookkeeping; exact natural gradient trades fewer iterations for QGT construction; operator-Schmidt gates trade logical tape for executable time; and the precision bridge maps the declared JAX policy into TensorNetwork's cached backend. These observations make the next compiler search directions explicit and reproducible. + +The demonstrated scope is exact one-dimensional TFIM and longitudinal-Ising workloads. The next research trajectory extends the same differentiated-program representation to deeper circuits, two-dimensional networks, multi-GPU slicing, host offload, and the paper-scale Fig. 2 point. The immediate compiler objective is fusion of VQETape's reverse-program advantages with the TensorCircuit-NG warm-kernel reference. + +## Reproduction + +```bash +python3.12 -m venv .venv +.venv/bin/python -m pip install -e '.[test,baseline]' +.venv/bin/python -m pytest -q + +vqetape-tc-baseline \ + --nqubits 10 --depth 4 --seed 33 --warm-repeats 5 \ + --expected-steps 100 --contractor omeco \ + --reference outputs/vqetape-gpu-rtx3090-statevector-n10-d4.json \ + --output outputs/tensorcircuit-ng-rtx3090-matched-n10-d4.json + +python scripts/build_submission_report.py +``` + +Canonical evidence remains under `outputs/`. `submission/vqetape-matched-benchmark.tsv` is the compact data export, `submission/submission-status.txt` is the result map, and `submission/artifact-manifest.json` binds the review artifacts by SHA256. diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ad_analysis.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ad_analysis.py new file mode 100644 index 000000000..e27cfd8f1 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ad_analysis.py @@ -0,0 +1,92 @@ +from vqetape.ad_analysis import ( + analyze_contraction_steps, + analyze_spatial_transfer, + reverse_einsum_equation, +) +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spec import TFIMVQESpec +from vqetape.tn_program import ContractionStep + + +def test_reverse_equations_for_matrix_product(): + equation = "ab,bc->ac" + + assert reverse_einsum_equation(equation, 0) == "ac,bc->ab" + assert reverse_einsum_equation(equation, 1) == "ac,ab->bc" + + +def test_reverse_equation_for_scalar_inner_product(): + equation = "ab,ab->" + + assert reverse_einsum_equation(equation, 0) == ",ab->ab" + assert reverse_einsum_equation(equation, 1) == ",ab->ab" + + +def test_differentiated_contraction_cost_is_accounted(): + input_shapes = ((2, 3), (3, 4), (2, 4)) + steps = ( + ContractionStep( + positions=(1, 0), + einsum="bc,ab->ac", + output_subscript="ac", + output_elements=8, + ), + ContractionStep( + positions=(1, 0), + einsum="ac,ac->", + output_subscript="", + output_elements=1, + ), + ) + + cost, reverse = analyze_contraction_steps( + input_shapes, + steps, + ) + + assert cost.forward_flops > 0 + assert cost.backward_flops > cost.forward_flops + assert cost.residual_elements == 6 + 12 + 8 + 8 + assert ( + cost.peak_live_residual_elements + == cost.residual_elements + ) + assert cost.forward_contractions == 2 + assert cost.backward_contractions == 4 + assert len(reverse) == 2 + assert tuple(len(group) for group in reverse) == (2, 2) + assert cost.total_flops == ( + cost.forward_flops + cost.backward_flops + ) + assert cost.traffic_elements > 0 + + +def test_spatial_ad_cost_multiplies_repeated_blocks(): + spec = TFIMVQESpec(nqubits=8, depth=1) + one = analyze_spatial_transfer( + plan_spatial_transfer( + spec, + "greedy", + block_width=1, + ) + ) + two = analyze_spatial_transfer( + plan_spatial_transfer( + spec, + "greedy", + block_width=2, + ) + ) + + assert one.bulk_block_count == 6 + assert two.bulk_block_count == 3 + assert one.total_forward_flops > 0 + assert one.total_backward_flops > 0 + assert one.total_traffic_bytes > 0 + assert one.static_score > 0 + assert one.total_forward_flops == ( + one.first.forward_flops + + 6 * one.bulk.forward_flops + + one.last.forward_flops + ) + assert one.to_dict()["roles"]["bulk"] is not None diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz.py new file mode 100644 index 000000000..9f1e05b55 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz.py @@ -0,0 +1,128 @@ +import json + +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.ansatz import ( + AnsatzOperator, + AnsatzStructure, + fixed_rzz_rx_structure, + layered_parameters_to_vector, + local_operator_pool, + ordered_ansatz_energy, + ordered_ansatz_state, +) +from vqetape.kernels import ( + unrolled_energy, + unrolled_state, +) +from vqetape.spec import TFIMVQESpec + + +def test_ansatz_structure_round_trip_and_append(): + structure = fixed_rzz_rx_structure(4, 1) + restored = AnsatzStructure.from_dict( + json.loads(json.dumps(structure.to_dict())) + ) + + assert restored == structure + assert structure.parameter_count == 7 + assert structure.append( + AnsatzOperator("rx", 2) + ).parameter_count == 8 + assert structure.label == restored.label + + +def test_local_pool_is_complete_and_symmetry_compatible(): + pool = local_operator_pool(4) + + assert [item.label for item in pool] == [ + "rzz-0-1", + "rzz-1-2", + "rzz-2-3", + "yz-0-1", + "yz-1-2", + "yz-2-3", + "zy-0-1", + "zy-1-2", + "zy-2-3", + "rx-0", + "rx-1", + "rx-2", + "rx-3", + ] + + +def test_commutator_pool_gates_preserve_global_x_sector(): + spec = TFIMVQESpec(nqubits=4, depth=1) + structure = AnsatzStructure( + 4, + ( + AnsatzOperator("yz", 1), + AnsatzOperator("zy", 2), + ), + ) + state = ordered_ansatz_state( + jnp.asarray([0.3, -0.2]), + structure, + spec, + ) + tensor = state.reshape((2,) * 4) + global_x_state = jnp.flip( + tensor, + axis=(0, 1, 2, 3), + ).reshape(-1) + + np.testing.assert_allclose( + global_x_state, + state, + rtol=1e-6, + atol=1e-6, + ) + + +def test_ordered_fixed_structure_matches_layered_kernel(): + spec = TFIMVQESpec(nqubits=4, depth=2) + theta = jnp.linspace( + -0.3, + 0.4, + np.prod(spec.parameter_shape), + ).reshape(spec.parameter_shape) + structure = fixed_rzz_rx_structure( + spec.nqubits, + spec.depth, + ) + parameters = layered_parameters_to_vector(theta, spec) + + np.testing.assert_allclose( + ordered_ansatz_state(parameters, structure, spec), + unrolled_state(theta, spec), + rtol=1e-6, + atol=1e-6, + ) + np.testing.assert_allclose( + ordered_ansatz_energy(parameters, structure, spec), + unrolled_energy(theta, spec), + rtol=1e-6, + atol=1e-6, + ) + + +def test_structure_rejects_out_of_range_operator(): + with pytest.raises(ValueError, match="outside"): + AnsatzStructure( + 3, + (AnsatzOperator("rzz", 2),), + ) + + +def test_ordered_state_validates_parameter_shape(): + spec = TFIMVQESpec(nqubits=3, depth=1) + structure = fixed_rzz_rx_structure(3, 1) + with pytest.raises(ValueError, match="shape"): + ordered_ansatz_state( + jnp.zeros((structure.parameter_count + 1,)), + structure, + spec, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_cost.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_cost.py new file mode 100644 index 000000000..c1e93c775 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_cost.py @@ -0,0 +1,113 @@ +import pytest + +from vqetape.ansatz import ( + AnsatzOperator, + AnsatzStructure, + fixed_rzz_rx_structure, +) +from vqetape.ansatz_cost import ( + AnsatzCostWeights, + ansatz_cache_key, + candidate_cost_delta, + contraction_aware_score, + cut_entangler_counts, + spatial_boundary_dimension, +) +from vqetape.ansatz_signals import AnsatzSignal +from vqetape.spec import TFIMVQESpec + + +def test_spatial_boundary_tracks_maximum_cut_count(): + structure = AnsatzStructure( + 4, + ( + AnsatzOperator("rzz", 0), + AnsatzOperator("rzz", 0), + AnsatzOperator("rzz", 2), + AnsatzOperator("rx", 1), + ), + ) + + assert cut_entangler_counts(structure) == (2, 0, 1) + assert spatial_boundary_dimension(structure) == 3 * 4**2 + + +def test_cost_penalizes_new_maximum_but_not_equalized_cut(): + base = fixed_rzz_rx_structure(4, 1) + first = candidate_cost_delta( + base, + AnsatzOperator("rzz", 0), + ) + raised = base.append(AnsatzOperator("rzz", 0)) + equalizing = candidate_cost_delta( + raised, + AnsatzOperator("rzz", 1), + ) + + assert first.boundary_after == 4 * first.boundary_before + assert first.delta_log_boundary > 0 + assert equalizing.boundary_after == ( + equalizing.boundary_before + ) + assert equalizing.delta_log_boundary == 0 + assert equalizing.delta_memory_relative == 0 + + +def test_contraction_score_reduces_costly_signal(): + signal = AnsatzSignal( + AnsatzOperator("rzz", 0), + gradient=0.5, + metric=0.25, + normalized_signal=1.0, + ) + cost = candidate_cost_delta( + fixed_rzz_rx_structure(4, 1), + signal.operator, + ) + + score = contraction_aware_score( + signal, + cost, + AnsatzCostWeights(), + ) + + assert 0 < score < signal.normalized_signal + + +def test_cache_key_changes_on_structure_workload_or_device(): + spec = TFIMVQESpec(nqubits=4, depth=1) + structure = fixed_rzz_rx_structure(4, 1) + baseline = ansatz_cache_key( + structure, + spec, + jax_version="test", + devices=("cpu:0:test",), + ) + + assert baseline != ansatz_cache_key( + structure.append(AnsatzOperator("rx", 0)), + spec, + jax_version="test", + devices=("cpu:0:test",), + ) + assert baseline != ansatz_cache_key( + structure, + TFIMVQESpec( + nqubits=4, + depth=1, + field=0.7, + ), + jax_version="test", + devices=("cpu:0:test",), + ) + assert baseline != ansatz_cache_key( + structure, + spec, + jax_version="test", + devices=("gpu:0:test",), + ) + + +def test_cost_weights_reject_negative_values(): + with pytest.raises(ValueError, match="nonnegative"): + AnsatzCostWeights(boundary=-1) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_report.py new file mode 100644 index 000000000..f3f451cce --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_report.py @@ -0,0 +1,50 @@ +from vqetape.ansatz_report import ( + audited_ansatz_requests, + run_ansatz_fresh_process, +) +from vqetape.ansatz_training import AnsatzGrowthRequest +from vqetape.spec import TFIMVQESpec + + +def test_audited_requests_have_equal_budgets(): + requests = audited_ansatz_requests() + + assert [request.policy for request in requests] == [ + "fixed", + "gradient-only", + "contraction-aware", + ] + assert len( + { + ( + request.target_energy_error, + request.max_growth_rounds, + request.optimizer_steps_per_round, + request.seed, + ) + for request in requests + } + ) == 1 + + +def test_ansatz_worker_runs_in_fresh_process(): + request = AnsatzGrowthRequest( + spec=TFIMVQESpec( + nqubits=3, + depth=1, + dtype="complex128", + ), + policy="contraction-aware", + target_energy_error=0.05, + max_growth_rounds=5, + optimizer_steps_per_round=5, + seed_depth=1, + fixed_depth=2, + ) + result = run_ansatz_fresh_process( + request, + timeout_seconds=120, + ) + + assert result.request == request + assert result.compiled_structures >= 1 diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_selection.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_selection.py new file mode 100644 index 000000000..01cb41930 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_selection.py @@ -0,0 +1,152 @@ +from vqetape.ansatz import ( + AnsatzOperator, + AnsatzStructure, + fixed_rzz_rx_structure, +) +from vqetape.ansatz_cost import AnsatzCostWeights +from vqetape.ansatz_selection import ( + operators_commute, + rank_ansatz_candidates, + redundant_append, +) +from vqetape.ansatz_signals import AnsatzSignal + + +def _signal( + operator: AnsatzOperator, + score: float, +) -> AnsatzSignal: + return AnsatzSignal( + operator=operator, + gradient=score**0.5, + metric=1.0, + normalized_signal=score, + ) + + +def test_policies_agree_when_candidate_costs_are_equal(): + structure = AnsatzStructure(3, ()) + signals = ( + _signal(AnsatzOperator("rx", 0), 0.5), + _signal(AnsatzOperator("rx", 1), 0.7), + ) + + gradient = rank_ansatz_candidates( + structure, + signals, + "gradient-only", + ) + contraction = rank_ansatz_candidates( + structure, + signals, + "contraction-aware", + ) + + assert gradient[0].operator == AnsatzOperator("rx", 1) + assert contraction[0].operator == gradient[0].operator + + +def test_contraction_policy_can_reject_highest_gradient(): + structure = ( + fixed_rzz_rx_structure(4, 1) + .append(AnsatzOperator("rzz", 0)) + .append(AnsatzOperator("rx", 0)) + ) + signals = ( + _signal(AnsatzOperator("rzz", 0), 1.1), + _signal(AnsatzOperator("rx", 1), 1.0), + ) + weights = AnsatzCostWeights( + boundary=1.0, + compile=0.0, + warm=0.0, + memory=1.0, + ) + + gradient = rank_ansatz_candidates( + structure, + signals, + "gradient-only", + weights=weights, + ) + contraction = rank_ansatz_candidates( + structure, + signals, + "contraction-aware", + weights=weights, + ) + + assert gradient[0].operator.kind == "rzz" + assert contraction[0].operator.kind == "rx" + assert contraction[0].selected + assert all( + row.selected == (row.rank == 1) + for row in contraction + ) + + +def test_repeated_operator_remains_a_legal_candidate(): + repeated = AnsatzOperator("rx", 0) + structure = AnsatzStructure( + 3, + ( + repeated, + AnsatzOperator("rzz", 0), + ), + ) + ranked = rank_ansatz_candidates( + structure, + (_signal(repeated, 1.0),), + "contraction-aware", + ) + + assert ranked[0].operator == repeated + assert ranked[0].eligible + assert structure.append(repeated).operators == ( + repeated, + AnsatzOperator("rzz", 0), + repeated, + ) + + +def test_ties_resolve_by_operator_label(): + structure = AnsatzStructure(3, ()) + ranked = rank_ansatz_candidates( + structure, + ( + _signal(AnsatzOperator("rx", 2), 1.0), + _signal(AnsatzOperator("rx", 0), 1.0), + ), + "gradient-only", + ) + + assert [row.operator.label for row in ranked] == [ + "rx-0", + "rx-2", + ] + + +def test_commuting_tail_marks_exactly_redundant_append(): + rx0 = AnsatzOperator("rx", 0) + assert operators_commute( + rx0, + AnsatzOperator("rx", 2), + ) + assert not operators_commute( + rx0, + AnsatzOperator("rzz", 0), + ) + assert redundant_append( + AnsatzStructure( + 3, + (rx0, AnsatzOperator("rx", 2)), + ), + rx0, + ) + assert not redundant_append( + AnsatzStructure( + 3, + (rx0, AnsatzOperator("rzz", 0)), + ), + rx0, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_signals.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_signals.py new file mode 100644 index 000000000..612be4ea5 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_signals.py @@ -0,0 +1,150 @@ +import jax +import jax.numpy as jnp +import numpy as np + +from vqetape.ansatz import ( + apply_ansatz_generator, + fixed_rzz_rx_structure, + local_operator_pool, + ordered_ansatz_energy, + ordered_ansatz_state, +) +from vqetape.ansatz_signals import candidate_signal, pool_signals +from vqetape.spec import TFIMVQESpec + + +def _state_and_parameters(): + spec = TFIMVQESpec( + nqubits=3, + depth=1, + dtype="complex128", + ) + structure = fixed_rzz_rx_structure(3, 1) + parameters = jnp.asarray( + [0.21, -0.13, 0.08, -0.19, 0.17], + dtype=jnp.float64, + ) + state = ordered_ansatz_state( + parameters, + structure, + spec, + ) + return spec, structure, parameters, state + + +def test_candidate_gradient_matches_appended_autodiff(): + with jax.enable_x64(): + spec, structure, parameters, state = ( + _state_and_parameters() + ) + for operator in local_operator_pool(3): + signal = candidate_signal( + state, + operator, + spec, + ) + extended = structure.append(operator) + + def inserted_energy(angle): + values = jnp.concatenate( + (parameters, jnp.asarray([angle])) + ) + return ordered_ansatz_energy( + values, + extended, + spec, + ) + + automatic = jax.grad(inserted_energy)( + jnp.asarray(0.0, dtype=jnp.float64) + ) + step = 1e-5 + finite = ( + inserted_energy(step) + - inserted_energy(-step) + ) / (2 * step) + np.testing.assert_allclose( + signal.gradient, + automatic, + rtol=1e-10, + atol=1e-11, + ) + np.testing.assert_allclose( + signal.gradient, + finite, + rtol=1e-7, + atol=1e-9, + ) + + +def test_candidate_metric_matches_state_jacobian(): + with jax.enable_x64(): + spec, structure, parameters, state = ( + _state_and_parameters() + ) + for operator in local_operator_pool(3): + signal = candidate_signal( + state, + operator, + spec, + ) + extended = structure.append(operator) + + def inserted_state(angle): + return ordered_ansatz_state( + jnp.concatenate( + ( + parameters, + jnp.asarray([angle]), + ) + ), + extended, + spec, + ) + + derivative = jax.jacfwd(inserted_state)( + jnp.asarray(0.0, dtype=jnp.float64) + ) + expected = jnp.real( + jnp.vdot(derivative, derivative) + - jnp.vdot(derivative, state) + * jnp.vdot(state, derivative) + ) + np.testing.assert_allclose( + signal.metric, + expected, + rtol=1e-10, + atol=1e-11, + ) + + +def test_pool_signals_preserve_full_pool_order(): + spec = TFIMVQESpec(nqubits=3, depth=1) + state = jnp.asarray( + np.ones(8) / np.sqrt(8), + dtype=jnp.complex64, + ) + pool = local_operator_pool(3) + signals = pool_signals(state, pool, spec) + + assert tuple(item.operator for item in signals) == pool + assert all(item.normalized_signal >= 0 for item in signals) + + +def test_pauli_generators_are_involutions(): + spec = TFIMVQESpec(nqubits=3, depth=1) + state = jnp.asarray( + np.arange(8) + 1j * np.arange(8)[::-1], + dtype=jnp.complex64, + ) + for operator in local_operator_pool(3): + twice = apply_ansatz_generator( + apply_ansatz_generator( + state, + operator, + spec, + ), + operator, + spec, + ) + np.testing.assert_array_equal(twice, state) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_training.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_training.py new file mode 100644 index 000000000..94a198910 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ansatz_training.py @@ -0,0 +1,73 @@ +import json + +from vqetape.ansatz_training import ( + AnsatzGrowthRequest, + AnsatzGrowthResult, + run_ansatz_growth, +) +from vqetape.spec import TFIMVQESpec + + +def _request(policy: str) -> AnsatzGrowthRequest: + return AnsatzGrowthRequest( + spec=TFIMVQESpec(nqubits=3, depth=1), + policy=policy, # type: ignore[arg-type] + target_energy_error=0.05, + max_growth_rounds=5, + optimizer_steps_per_round=4, + seed=2, + seed_depth=1, + fixed_depth=2, + ) + + +def test_growth_request_round_trip_and_equal_budget(): + request = _request("contraction-aware") + restored = AnsatzGrowthRequest.from_dict( + json.loads(json.dumps(request.to_dict())) + ) + + assert restored == request + assert ( + request.seed_depth + * (2 * request.spec.nqubits - 1) + + request.max_growth_rounds + == request.fixed_depth + * (2 * request.spec.nqubits - 1) + ) + + +def test_fixed_ansatz_runs_one_compiled_structure(): + result = run_ansatz_growth(_request("fixed")) + + assert result.compiled_structures == 1 + assert len(result.rounds) == 1 + assert result.rounds[0].phase == "fixed" + assert result.final_structure.parameter_count == 10 + assert result.evaluations >= 1 + + +def test_adaptive_growth_serializes_complete_screening(): + result = run_ansatz_growth( + _request("contraction-aware") + ) + restored = AnsatzGrowthResult.from_dict( + json.loads(json.dumps(result.to_dict())) + ) + + assert restored == result + assert result.rounds[0].phase == "seed" + assert len(result.rounds) > 1 + for round_result in result.rounds[1:]: + assert round_result.phase == "growth" + assert len(round_result.candidates) == 9 + assert sum( + candidate.selected + for candidate in round_result.candidates + ) == 1 + assert ( + round_result.selected_operator + == round_result.candidates[0].operator + ) + assert result.compiled_structures == len(result.rounds) + assert result.screening_seconds >= 0 diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_benchmark.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_benchmark.py new file mode 100644 index 000000000..c07c3a888 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_benchmark.py @@ -0,0 +1,147 @@ +from vqetape.benchmark import ( + benchmark_candidate, + benchmark_spatial_candidate, +) +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) + + +def test_candidate_runs_in_fresh_process_and_returns_finite_metrics(): + spec = TFIMVQESpec(nqubits=3, depth=2) + result = benchmark_candidate( + spec=spec, + config=ProgramConfig( + control_flow="scan", + adjoint="default", + unroll=1, + ), + seed=7, + warm_repeats=2, + timeout_seconds=120, + ) + assert result.valid, result.failure + assert result.compile_seconds >= 0 + assert result.first_execute_seconds >= 0 + assert result.warm_seconds_median > 0 + assert result.peak_rss_bytes > 0 + assert result.energy is not None + assert result.gradient is not None + assert result.worker_pid != result.parent_pid + + +def test_segmented_worker_executes_non_divisible_depth(): + spec = TFIMVQESpec(nqubits=3, depth=3) + result = benchmark_candidate( + spec=spec, + config=ProgramConfig( + control_flow="scan", + adjoint="segmented", + unroll=1, + segment_length=2, + ), + seed=9, + warm_repeats=1, + timeout_seconds=120, + ) + assert result.valid, result.failure + + +def test_spatial_candidate_runs_in_fresh_worker(): + spec = TFIMVQESpec(nqubits=4, depth=1) + result = benchmark_spatial_candidate( + spec=spec, + config=SpatialProgramConfig("greedy", "default"), + seed=0, + warm_repeats=1, + timeout_seconds=120, + ) + + assert result.valid, result.failure + assert result.worker_pid != result.parent_pid + assert result.energy is not None + assert result.gradient is not None + assert result.static_estimate["boundary_dimension"] == 12 + assert result.static_estimate["boundary_bytes"] == 96 + assert result.static_estimate["bulk_columns"] == 2 + assert result.static_estimate["bulk_path_flops"] > 0 + assert result.static_estimate["estimated_energy_flops"] > 0 + assert result.static_estimate["modeled_checkpoint_boundaries"] == 2 + differentiated = result.static_estimate[ + "differentiated_cost" + ] + assert differentiated["total_forward_flops"] > 0 + assert differentiated["total_backward_flops"] > 0 + assert differentiated["total_traffic_bytes"] > 0 + assert differentiated["peak_role_residual_elements"] > 0 + assert differentiated["static_score"] > 0 + assert result.static_estimate["residual_profile"]["total_bytes"] > 0 + + +def test_blocked_spatial_worker_reports_block_metrics(): + spec = TFIMVQESpec(nqubits=6, depth=1) + result = benchmark_spatial_candidate( + spec=spec, + config=SpatialProgramConfig( + "greedy", + "default", + block_width=2, + ), + seed=0, + warm_repeats=1, + timeout_seconds=120, + ) + + assert result.valid, result.failure + assert result.static_estimate["block_width"] == 2 + assert result.static_estimate["bulk_blocks"] == 2 + assert result.static_estimate["tail_width"] == 0 + assert result.static_estimate["bulk_block_path_flops"] > 0 + assert result.static_estimate["estimated_energy_flops"] > 0 + + +def test_segmented_spatial_worker_handles_partial_segment(): + spec = TFIMVQESpec(nqubits=7, depth=1) + result = benchmark_spatial_candidate( + spec=spec, + config=SpatialProgramConfig( + "greedy", + "segmented", + segment_length=2, + ), + seed=3, + warm_repeats=1, + timeout_seconds=120, + ) + + assert result.valid, result.failure + assert result.config.adjoint == "segmented" + assert result.static_estimate["bulk_columns"] == 5 + assert result.static_estimate["modeled_checkpoint_boundaries"] == 5 + + +def test_native_symmetry_worker_reports_compressed_sector(): + spec = TFIMVQESpec(nqubits=5, depth=1) + result = benchmark_spatial_candidate( + spec=spec, + config=SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + seed=0, + warm_repeats=1, + timeout_seconds=120, + ) + + assert result.valid, result.failure + estimate = result.static_estimate + assert estimate["symmetry"] == "z2-native" + assert estimate["symmetry_execution"] == "bcoo-native" + assert estimate["boundary_dimension"] == 12 + assert estimate["recurrent_boundary_dimension"] == 6 + assert estimate["boundary_bytes"] == 96 + assert estimate["recurrent_boundary_bytes"] == 48 + assert estimate["symmetry_sector"]["active_fraction"] == 0.5 diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_compiler_cli.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_compiler_cli.py new file mode 100644 index 000000000..7d94f7d32 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_compiler_cli.py @@ -0,0 +1,114 @@ +import json +import os +import subprocess +import sys + +import jax +import jax.numpy as jnp + +from vqetape.compiler import compile_vqe +from vqetape.spec import CompileRequest, TFIMVQESpec + + +def test_compile_vqe_selects_valid_executable(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=3, depth=2), + memory_budget_bytes=1024**3, + expected_vqe_steps=5, + warm_repeats=1, + ) + compiled = compile_vqe(request) + theta = jnp.zeros(request.spec.parameter_shape) + energy, gradient = compiled.executable(theta) + jax.block_until_ready((energy, gradient)) + assert energy.shape == () + assert gradient.shape == request.spec.parameter_shape + assert compiled.selected.valid + assert compiled.selected in compiled.pareto + assert all( + candidate.valid + for candidate in compiled.candidates + if candidate.failure is None + ) + + +def test_cli_writes_machine_readable_report(tmp_path): + report = tmp_path / "report.json" + environment = dict(os.environ) + environment["JAX_ENABLE_X64"] = "1" + completed = subprocess.run( + [ + sys.executable, + "-m", + "vqetape.cli", + "--nqubits", + "3", + "--depth", + "2", + "--memory-budget-gib", + "1", + "--expected-steps", + "5", + "--warm-repeats", + "1", + "--output", + str(report), + ], + check=False, + capture_output=True, + text=True, + timeout=300, + env=environment, + ) + assert completed.returncode == 0, completed.stderr + payload = json.loads(report.read_text()) + assert payload["selected"]["valid"] is True + assert ( + payload["measurement_notes"]["peak_rss"] + == "process peak RSS, not GPU peak memory" + ) + + +def test_spatial_cli_writes_joint_representation_report(tmp_path): + report = tmp_path / "spatial-report.json" + completed = subprocess.run( + [ + sys.executable, + "-m", + "vqetape.cli", + "--mode", + "spatial-transfer", + "--nqubits", + "3", + "--depth", + "1", + "--memory-budget-gib", + "1", + "--expected-steps", + "5", + "--warm-repeats", + "1", + "--timeout-seconds", + "180", + "--output", + str(report), + ], + check=False, + capture_output=True, + text=True, + timeout=300, + ) + + assert completed.returncode == 0, completed.stderr + payload = json.loads(report.read_text()) + assert payload["reference"]["valid"] + assert payload["selected"]["config"]["representation"] in { + "direct_tn", + "spatial_transfer", + } + assert all(item["valid"] for item in payload["candidates"]) + representations = { + item["config"]["representation"] + for item in payload["candidates"] + } + assert representations == {"direct_tn", "spatial_transfer"} diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_estimate_candidates.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_estimate_candidates.py new file mode 100644 index 000000000..418f99cb4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_estimate_candidates.py @@ -0,0 +1,50 @@ +from vqetape.candidates import enumerate_candidates, segment_lengths +from vqetape.estimate import estimate_program +from vqetape.spec import CompileRequest, ProgramConfig, TFIMVQESpec + + +def test_segment_lengths_include_endpoints_divisors_and_sqrt_neighbors(): + assert segment_lengths(10) == (1, 2, 3, 4, 5, 10) + + +def test_segmented_estimate_is_smaller_than_save_all_for_deep_chain(): + spec = TFIMVQESpec(nqubits=8, depth=100) + default = estimate_program( + spec, + ProgramConfig(control_flow="scan", adjoint="default", unroll=1), + ) + segmented = estimate_program( + spec, + ProgramConfig( + control_flow="scan", + adjoint="segmented", + unroll=1, + segment_length=10, + ), + ) + assert ( + segmented.saved_boundary_upper_bound_bytes + < default.saved_boundary_upper_bound_bytes + ) + assert ( + segmented.estimated_recompute_gate_applications + > default.estimated_recompute_gate_applications + ) + + +def test_candidate_enumeration_is_unique_and_memory_filtered(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=6, depth=8), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, + ) + candidates = enumerate_candidates(request) + assert len(candidates) == len(set(candidates)) + assert all( + estimate_program( + request.spec, + item, + ).saved_boundary_upper_bound_bytes + <= request.memory_budget_bytes + for item in candidates + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_explicit_vjp.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_explicit_vjp.py new file mode 100644 index 000000000..a349722f4 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_explicit_vjp.py @@ -0,0 +1,151 @@ +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.explicit_vjp import ( + build_explicit_contraction_vjp, +) +from vqetape.tn_program import ContractionStep + + +@pytest.mark.parametrize( + ("equation", "shapes", "output_shape"), + [ + ("ab,bc->ac", ((2, 3), (3, 4)), (2, 4)), + ("ab,ab->", ((2, 3), (2, 3)), ()), + ], +) +def test_explicit_complex_vjp_matches_jax( + equation, + shapes, + output_shape, +): + step = ContractionStep( + positions=(0, 0), + einsum=equation, + output_subscript=equation.split( + "->", + maxsplit=1, + )[1], + output_elements=int(np.prod(output_shape)), + ) + values = tuple( + ( + jnp.arange( + np.prod(shape), + dtype=jnp.float32, + ).reshape(shape) + + 1j + * jnp.linspace( + 0.1, + 0.9, + np.prod(shape), + dtype=jnp.float32, + ).reshape(shape) + ) + for shape in shapes + ) + explicit = build_explicit_contraction_vjp( + shapes, + (step,), + ) + reference = lambda *xs: jnp.einsum( + equation, + *xs, + optimize=True, + ) + output = explicit(*values) + cotangent = jnp.full_like(output, 0.7 + 0.2j) + actual_value, actual_pullback = jax.vjp( + explicit, + *values, + ) + expected_value, expected_pullback = jax.vjp( + reference, + *values, + ) + + np.testing.assert_allclose( + output, + expected_value, + rtol=1e-5, + atol=1e-5, + ) + np.testing.assert_allclose( + actual_value, + expected_value, + rtol=1e-5, + atol=1e-5, + ) + for actual, expected in zip( + actual_pullback(cotangent), + expected_pullback(cotangent), + strict=True, + ): + np.testing.assert_allclose( + actual, + expected, + rtol=1e-5, + atol=1e-5, + ) + + +def test_explicit_vjp_recomputes_a_multistep_tree(): + shapes = ((2, 3), (3, 4), (2, 4)) + steps = ( + ContractionStep( + positions=(1, 0), + einsum="bc,ab->ac", + output_subscript="ac", + output_elements=8, + ), + ContractionStep( + positions=(1, 0), + einsum="ac,ac->", + output_subscript="", + output_elements=1, + ), + ) + values = tuple( + jnp.linspace( + 0.1, + 0.9, + np.prod(shape), + dtype=jnp.float32, + ).reshape(shape) + * (1 + 0.3j) + for shape in shapes + ) + explicit = build_explicit_contraction_vjp( + shapes, + steps, + ) + + def reference(a, b, c): + intermediate = jnp.einsum( + "bc,ab->ac", + b, + a, + ) + return jnp.einsum( + "ac,ac->", + c, + intermediate, + ) + + _, actual_pullback = jax.vjp(explicit, *values) + _, expected_pullback = jax.vjp(reference, *values) + cotangent = jnp.asarray(0.4 + 0.6j) + + for actual, expected in zip( + actual_pullback(cotangent), + expected_pullback(cotangent), + strict=True, + ): + np.testing.assert_allclose( + actual, + expected, + rtol=1e-5, + atol=1e-5, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ground_state.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ground_state.py new file mode 100644 index 000000000..5acabd30b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_ground_state.py @@ -0,0 +1,55 @@ +import numpy as np +import pytest + +from vqetape.ground_state import ( + tfim_bdg_spectrum, + tfim_ground_energy, +) +from vqetape.spec import TFIMVQESpec +from vqetape.tfim_mpo import dense_tfim_hamiltonian + + +@pytest.mark.parametrize("nqubits", range(2, 8)) +@pytest.mark.parametrize( + ("coupling", "field"), + [(1.0, 1.0), (0.7, 0.3), (-0.4, 1.2)], +) +def test_bdg_ground_energy_matches_dense_diagonalization( + nqubits, + coupling, + field, +): + spec = TFIMVQESpec( + nqubits=nqubits, + depth=1, + coupling=coupling, + field=field, + ) + expected = float( + np.linalg.eigvalsh( + np.asarray(dense_tfim_hamiltonian(spec)) + )[0] + ) + + assert tfim_ground_energy(spec) == pytest.approx( + expected, + abs=2e-5, + ) + + +def test_bdg_spectrum_has_particle_hole_pairs(): + spec = TFIMVQESpec( + nqubits=7, + depth=1, + coupling=0.8, + field=0.6, + ) + spectrum = tfim_bdg_spectrum(spec) + + assert spectrum.shape == (2 * spec.nqubits,) + np.testing.assert_allclose( + spectrum, + -spectrum[::-1], + rtol=1e-12, + atol=1e-12, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_holdout.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_holdout.py new file mode 100644 index 000000000..38ac5f716 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_holdout.py @@ -0,0 +1,134 @@ +import jax +import jax.numpy as jnp +import numpy as np + +from vqetape.holdout import ( + LongitudinalIsingSpec, + dense_longitudinal_hamiltonian, + global_x_commutator_norm, + holdout_z2_applicability, + longitudinal_ansatz_state, + longitudinal_energy, + longitudinal_ground_energy, + longitudinal_hamiltonian_action, +) + + +def test_holdout_state_is_normalized_and_padding_is_inactive(): + with jax.enable_x64(): + spec = LongitudinalIsingSpec( + nqubits=4, + depth=2, + ) + parameters = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + ).reshape(spec.parameter_shape) + state = longitudinal_ansatz_state(parameters, spec) + gradient = jax.grad( + lambda values: longitudinal_energy( + values, + spec, + ) + )(parameters) + + np.testing.assert_allclose( + jnp.vdot(state, state), + 1.0, + atol=1e-12, + ) + np.testing.assert_array_equal( + gradient[:, 0, -1], + np.zeros(spec.depth), + ) + + +def test_action_and_energy_match_dense_hamiltonian(): + with jax.enable_x64(): + spec = LongitudinalIsingSpec( + nqubits=3, + depth=1, + ) + parameters = jnp.asarray( + np.linspace(-0.2, 0.25, 9).reshape(1, 3, 3) + ) + state = longitudinal_ansatz_state(parameters, spec) + dense = dense_longitudinal_hamiltonian(spec) + + np.testing.assert_allclose( + longitudinal_hamiltonian_action( + state, + spec, + ), + dense @ np.asarray(state), + rtol=1e-12, + atol=1e-12, + ) + np.testing.assert_allclose( + longitudinal_energy(parameters, spec), + np.vdot(state, dense @ np.asarray(state)).real, + rtol=1e-12, + atol=1e-12, + ) + assert longitudinal_ground_energy(spec) == np.min( + np.linalg.eigvalsh(dense) + ) + + +def test_holdout_gradient_matches_central_difference(): + with jax.enable_x64(): + spec = LongitudinalIsingSpec( + nqubits=3, + depth=1, + ) + parameters = jnp.asarray( + np.linspace(-0.3, 0.2, 9).reshape(1, 3, 3) + ) + gradient = jax.grad( + lambda values: longitudinal_energy( + values, + spec, + ) + )(parameters) + index = (0, 1, 1) + delta = jnp.zeros_like(parameters).at[index].set( + 1e-5 + ) + finite = ( + longitudinal_energy(parameters + delta, spec) + - longitudinal_energy(parameters - delta, spec) + ) / 2e-5 + + np.testing.assert_allclose( + gradient[index], + finite, + rtol=1e-8, + atol=1e-9, + ) + + +def test_longitudinal_field_breaks_global_x_charge(): + broken = LongitudinalIsingSpec( + nqubits=4, + depth=1, + longitudinal_field=0.35, + ) + tfim = LongitudinalIsingSpec( + nqubits=4, + depth=1, + longitudinal_field=0.0, + ) + + assert global_x_commutator_norm(broken) > 1 + np.testing.assert_allclose( + global_x_commutator_norm(tfim), + 0.0, + atol=1e-12, + ) + applicability = holdout_z2_applicability(broken) + assert not applicability["applicable"] + assert any( + "longitudinal" in reason + for reason in applicability["reasons"] + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_holdout_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_holdout_report.py new file mode 100644 index 000000000..d496d3e72 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_holdout_report.py @@ -0,0 +1,26 @@ +from vqetape.holdout import LongitudinalIsingSpec +from vqetape.holdout_report import ( + run_holdout_fresh_process, +) + + +def test_holdout_report_runs_in_fresh_process(): + result = run_holdout_fresh_process( + LongitudinalIsingSpec( + nqubits=3, + depth=1, + longitudinal_field=0.2, + dtype="complex128", + ), + target_energy_error=0.5, + max_steps=2, + timeout_seconds=120, + ) + + assert result["converged"] + assert not result["z2_spatial_compression"][ + "applicable" + ] + assert result["z2_spatial_compression"][ + "commutator_norm" + ] > 0 diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_initialization.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_initialization.py new file mode 100644 index 000000000..02567fe29 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_initialization.py @@ -0,0 +1,137 @@ +import numpy as np + +from vqetape.initialization import ( + initialize_parameters, + recycle_parameters, +) +from vqetape.spec import ProgramConfig, TFIMVQESpec +from vqetape.training_spec import VQETrainingRequest + + +def _request(spec, initialization, **kwargs): + return VQETrainingRequest( + spec=spec, + program=ProgramConfig("scan", "default"), + optimizer="adam", + initialization=initialization, + target_energy_error=0.1, + max_steps=10, + **kwargs, + ) + + +def test_zero_and_random_initializations_are_deterministic(): + spec = TFIMVQESpec(nqubits=5, depth=2) + zeros, zero_provenance = initialize_parameters( + _request(spec, "zeros") + ) + first, first_provenance = initialize_parameters( + _request(spec, "random", seed=7) + ) + second, _ = initialize_parameters( + _request(spec, "random", seed=7) + ) + different, _ = initialize_parameters( + _request(spec, "random", seed=8) + ) + + np.testing.assert_array_equal(zeros, 0) + np.testing.assert_array_equal(first, second) + assert not np.array_equal(first, different) + np.testing.assert_array_equal(first[:, 0, -1], 0) + assert zero_provenance["policy"] == "zeros" + assert first_provenance["seed"] == 7 + + +def test_recycling_grows_chain_with_layer_means(): + source = TFIMVQESpec(nqubits=3, depth=1) + target = TFIMVQESpec(nqubits=5, depth=1) + parameters = np.asarray( + [[[0.1, 0.3, 0.0], [1.0, 2.0, 3.0]]], + dtype=np.float32, + ) + + recycled, provenance = recycle_parameters( + parameters, + source, + target, + ) + + np.testing.assert_allclose( + recycled[0, 0], + [0.1, 0.3, 0.2, 0.2, 0.0], + ) + np.testing.assert_allclose( + recycled[0, 1], + [1.0, 2.0, 3.0, 2.0, 2.0], + ) + assert provenance["source_shape"] == [1, 2, 3] + assert provenance["target_shape"] == [1, 2, 5] + + +def test_recycling_grows_depth_from_last_source_layer(): + source = TFIMVQESpec(nqubits=4, depth=2) + target = TFIMVQESpec(nqubits=4, depth=4) + parameters = np.arange( + np.prod(source.parameter_shape), + dtype=np.float32, + ).reshape(source.parameter_shape) + parameters[:, 0, -1] = 0 + + recycled, _ = recycle_parameters( + parameters, + source, + target, + ) + + np.testing.assert_allclose(recycled[:2], parameters) + np.testing.assert_allclose(recycled[2], parameters[-1]) + np.testing.assert_allclose(recycled[3], parameters[-1]) + np.testing.assert_array_equal(recycled[:, 0, -1], 0) + + +def test_recycling_can_shrink_chain_and_depth(): + source = TFIMVQESpec(nqubits=6, depth=3) + target = TFIMVQESpec(nqubits=4, depth=2) + parameters = np.arange( + np.prod(source.parameter_shape), + dtype=np.float32, + ).reshape(source.parameter_shape) + + recycled, _ = recycle_parameters( + parameters, + source, + target, + ) + + np.testing.assert_allclose( + recycled[:, 0, :-1], + parameters[:2, 0, :3], + ) + np.testing.assert_allclose( + recycled[:, 1], + parameters[:2, 1, :4], + ) + np.testing.assert_array_equal(recycled[:, 0, -1], 0) + + +def test_initialize_recycled_parameters_uses_request_payload(): + source = TFIMVQESpec(nqubits=3, depth=1) + target = TFIMVQESpec(nqubits=4, depth=2) + payload = ( + ( + (0.1, 0.2, 0.0), + (0.3, 0.4, 0.5), + ), + ) + values, provenance = initialize_parameters( + _request( + target, + "recycled", + recycled_source_spec=source, + recycled_parameters=payload, + ) + ) + + assert values.shape == target.parameter_shape + assert provenance["policy"] == "translation-mean-recycle" diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_kernels.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_kernels.py new file mode 100644 index 000000000..7f660a6bf --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_kernels.py @@ -0,0 +1,100 @@ +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.kernels import ( + initial_state, + rzz_matrix, + rzz_schmidt_factors, + unrolled_energy, +) +from vqetape.spec import TFIMVQESpec + + +def test_initial_states_are_normalized(): + for name in ("zero", "plus"): + spec = TFIMVQESpec(nqubits=4, depth=1, initial_state=name) + state = initial_state(spec) + np.testing.assert_allclose( + np.asarray(jnp.vdot(state, state)), + 1.0, + atol=1e-6, + ) + + +def test_plus_state_tfim_energy_at_zero_parameters(): + spec = TFIMVQESpec(nqubits=4, depth=1, initial_state="plus") + theta = jnp.zeros(spec.parameter_shape) + energy = unrolled_energy(theta, spec) + np.testing.assert_allclose(np.asarray(energy), -4.0, atol=1e-6) + + +def test_padding_rzz_parameter_has_zero_gradient(): + spec = TFIMVQESpec(nqubits=4, depth=2) + theta = ( + jnp.arange(np.prod(spec.parameter_shape), dtype=jnp.float32).reshape( + spec.parameter_shape + ) + / 20 + ) + gradient = jax.grad(lambda value: unrolled_energy(value, spec))(theta) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(spec.depth), + ) + + +def test_gradient_matches_central_difference(): + with jax.enable_x64(): + spec = TFIMVQESpec(nqubits=3, depth=2, dtype="complex128") + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float64, + ).reshape(spec.parameter_shape) + gradient = jax.grad(lambda value: unrolled_energy(value, spec))(theta) + index = (1, 1, 2) + step = 1e-5 + delta = jnp.zeros_like(theta).at[index].set(step) + finite_difference = ( + unrolled_energy(theta + delta, spec) + - unrolled_energy(theta - delta, spec) + ) / (2 * step) + np.testing.assert_allclose( + np.asarray(gradient[index]), + np.asarray(finite_difference), + rtol=1e-6, + atol=1e-7, + ) + + +@pytest.mark.parametrize("angle", [0.0, 1e-6, -0.7, np.pi - 1e-5]) +def test_rzz_schmidt_factors_reconstruct_dense_gate(angle): + value = jnp.asarray(angle, dtype=jnp.float32) + left, right = rzz_schmidt_factors(value, jnp.complex64) + reconstructed = jnp.einsum("oia,pja->opij", left, right) + expected = rzz_matrix(value, jnp.complex64).reshape(2, 2, 2, 2) + np.testing.assert_allclose( + np.asarray(reconstructed), + np.asarray(expected), + rtol=1e-6, + atol=1e-6, + ) + assert left.shape == (2, 2, 2) + assert right.shape == (2, 2, 2) + + +def test_rzz_schmidt_factors_support_complex128(): + with jax.enable_x64(): + value = jnp.asarray(0.37, dtype=jnp.float64) + left, right = rzz_schmidt_factors(value, jnp.complex128) + reconstructed = jnp.einsum("oia,pja->opij", left, right) + expected = rzz_matrix(value, jnp.complex128).reshape(2, 2, 2, 2) + np.testing.assert_allclose( + np.asarray(reconstructed), + np.asarray(expected), + rtol=1e-12, + atol=1e-12, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_metrics_selection.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_metrics_selection.py new file mode 100644 index 000000000..3b99fad39 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_metrics_selection.py @@ -0,0 +1,86 @@ +from vqetape.metrics import median_and_mad +from vqetape.selection import ( + CandidateResult, + correctness_error, + pareto_frontier, + select_for_horizon, +) +from vqetape.spec import ProgramConfig, SpatialProgramConfig + + +def make_result(label, compile_seconds, warm_seconds, memory): + control_flow = "unrolled" if label == "unrolled" else "scan" + return CandidateResult( + config=ProgramConfig( + control_flow=control_flow, + adjoint="default", + unroll=1, + ), + compile_seconds=compile_seconds, + first_execute_seconds=0.1, + warm_seconds_median=warm_seconds, + warm_seconds_mad=0.0, + peak_rss_bytes=memory, + energy_abs_error=0.0, + gradient_relative_l2_error=0.0, + valid=True, + ) + + +def test_median_and_mad(): + assert median_and_mad([1.0, 2.0, 100.0]) == (2.0, 1.0) + + +def test_correctness_error_uses_stable_gradient_denominator(): + energy_error, gradient_error = correctness_error( + 1.1, + [0.1, 0.0], + 1.0, + [0.0, 0.0], + ) + assert abs(energy_error - 0.1) < 1e-12 + assert abs(gradient_error - 0.1) < 1e-12 + + +def test_pareto_frontier_removes_dominated_result(): + fast = make_result("unrolled", 2.0, 1.0, 100) + dominated = make_result("scan", 3.0, 2.0, 120) + assert pareto_frontier([fast, dominated]) == [fast] + + +def test_horizon_selection_accounts_for_compile_amortization(): + low_cold = make_result("unrolled", 1.0, 2.0, 100) + high_throughput = make_result("scan", 20.0, 1.0, 100) + assert ( + select_for_horizon([low_cold, high_throughput], 2).config + == low_cold.config + ) + assert ( + select_for_horizon([low_cold, high_throughput], 100).config + == high_throughput.config + ) + + +def test_candidate_result_round_trip(): + candidate = make_result("scan", 3.0, 2.0, 120) + assert CandidateResult.from_dict(candidate.to_dict()) == candidate + + +def test_spatial_candidate_result_round_trip(): + candidate = CandidateResult( + config=SpatialProgramConfig( + "random-greedy", + "segmented", + unroll=2, + segment_length=3, + ), + compile_seconds=1.0, + first_execute_seconds=0.1, + warm_seconds_median=0.01, + warm_seconds_mad=0.001, + peak_rss_bytes=1024, + energy_abs_error=0.0, + gradient_relative_l2_error=0.0, + valid=True, + ) + assert CandidateResult.from_dict(candidate.to_dict()) == candidate diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_optimizers.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_optimizers.py new file mode 100644 index 000000000..c0e0c59b0 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_optimizers.py @@ -0,0 +1,172 @@ +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.kernels import unrolled_state +from vqetape.optimizers import ( + active_parameter_mask, + pure_state_qgt, + run_adam, + run_lbfgs, + run_natural_gradient, +) +from vqetape.spec import TFIMVQESpec + + +def _quadratic(target): + target = np.asarray(target, dtype=np.float64) + + def evaluate(parameters): + difference = parameters - target + return ( + 0.5 * float(np.vdot(difference, difference)), + difference, + ) + + return evaluate + + +def _stop_below(threshold): + records = [] + + def observer( + evaluation, + optimizer_step, + parameters, + value, + gradient, + metric_condition, + ): + records.append( + ( + evaluation, + optimizer_step, + float(value), + metric_condition, + ) + ) + return value <= threshold + + return observer, records + + +def test_adam_converges_on_quadratic_and_counts_evaluations(): + observer, records = _stop_below(1e-8) + outcome = run_adam( + np.asarray([2.0, -1.0]), + _quadratic([0.3, 0.7]), + observer, + max_steps=300, + learning_rate=0.1, + ) + + assert outcome.target_reached + assert outcome.evaluations == len(records) + assert outcome.evaluations == outcome.steps + 1 + np.testing.assert_allclose( + outcome.parameters, + [0.3, 0.7], + atol=3e-4, + ) + + +def test_lbfgs_converges_on_quadratic(): + pytest.importorskip("scipy") + observer, records = _stop_below(1e-12) + outcome = run_lbfgs( + np.asarray([3.0, -2.0]), + _quadratic([0.2, 0.4]), + observer, + max_steps=30, + ) + + assert outcome.target_reached + assert outcome.evaluations == len(records) + np.testing.assert_allclose( + outcome.parameters, + [0.2, 0.4], + atol=1e-6, + ) + + +def test_natural_gradient_uses_metric_and_converges(): + observer, records = _stop_below(1e-8) + outcome = run_natural_gradient( + np.asarray([2.0, -1.0]), + _quadratic([0.3, 0.7]), + lambda _: np.diag([2.0, 0.5]), + observer, + max_steps=100, + learning_rate=0.2, + damping=1e-3, + ) + + assert outcome.target_reached + assert all( + condition is not None + for _, _, _, condition in records[1:] + ) + + +def test_active_mask_freezes_last_rzz_parameter(): + spec = TFIMVQESpec(nqubits=4, depth=2) + mask = active_parameter_mask(spec) + + assert mask.shape == spec.parameter_shape + assert np.all(mask[:, 0, -1] == 0) + assert np.all(mask[:, 0, :-1] == 1) + assert np.all(mask[:, 1, :] == 1) + + +def test_pure_state_qgt_matches_finite_difference(): + with jax.enable_x64(): + spec = TFIMVQESpec( + nqubits=2, + depth=1, + dtype="complex128", + ) + theta = jnp.asarray( + [[[0.2, 0.0], [0.1, -0.3]]], + dtype=jnp.float64, + ) + actual = pure_state_qgt(theta, spec) + flat = np.asarray(theta).reshape(-1) + step = 1e-5 + derivatives = [] + for index in range(flat.size): + plus = flat.copy() + minus = flat.copy() + plus[index] += step + minus[index] -= step + derivatives.append( + ( + np.asarray( + unrolled_state( + jnp.asarray(plus).reshape(theta.shape), + spec, + ) + ) + - np.asarray( + unrolled_state( + jnp.asarray(minus).reshape(theta.shape), + spec, + ) + ) + ) + / (2 * step) + ) + jacobian = np.stack(derivatives, axis=1) + state = np.asarray(unrolled_state(theta, spec)) + connection = jacobian.conj().T @ state + expected = np.real( + jacobian.conj().T @ jacobian + - np.outer(connection, connection.conj()) + ) + + np.testing.assert_allclose( + actual, + expected, + rtol=1e-6, + atol=1e-7, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_programs.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_programs.py new file mode 100644 index 000000000..eafd3cbdf --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_programs.py @@ -0,0 +1,81 @@ +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.programs import build_value_and_grad +from vqetape.spec import ProgramConfig, TFIMVQESpec + + +@pytest.mark.parametrize("unroll", [1, 2, 4]) +@pytest.mark.parametrize("adjoint", ["default", "remat"]) +def test_scan_program_matches_unrolled(unroll, adjoint): + spec = TFIMVQESpec(nqubits=4, depth=4) + theta = jnp.linspace( + -0.4, + 0.5, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig(control_flow="unrolled", adjoint="default", unroll=1), + ) + candidate = build_value_and_grad( + spec, + ProgramConfig(control_flow="scan", adjoint=adjoint, unroll=unroll), + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose( + np.asarray(energy), + np.asarray(ref_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(ref_gradient), + rtol=1e-4, + atol=1e-5, + ) + + +@pytest.mark.parametrize("depth", [3, 4, 7]) +@pytest.mark.parametrize("segment_length", [1, 2, 3]) +def test_segmented_adjoint_matches_unrolled(depth, segment_length): + spec = TFIMVQESpec(nqubits=3, depth=depth) + theta = jnp.linspace( + -0.2, + 0.4, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig(control_flow="unrolled", adjoint="default", unroll=1), + ) + candidate = build_value_and_grad( + spec, + ProgramConfig( + control_flow="scan", + adjoint="segmented", + unroll=1, + segment_length=segment_length, + ), + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose( + np.asarray(energy), + np.asarray(ref_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(ref_gradient), + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(depth), + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_public_api.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_public_api.py new file mode 100644 index 000000000..c96cd66cc --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_public_api.py @@ -0,0 +1,17 @@ +import vqetape + + +def test_public_api_exposes_end_to_end_layers(): + expected = { + "compile_vqe", + "train_vqe", + "run_ansatz_growth", + "TFIMVQESpec", + "LongitudinalIsingSpec", + "SpatialProgramConfig", + "VQETrainingRequest", + "AnsatzGrowthRequest", + } + + assert expected <= set(vqetape.__all__) + assert all(hasattr(vqetape, name) for name in expected) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_runtime_capabilities.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_runtime_capabilities.py new file mode 100644 index 000000000..ee5ac4ca2 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_runtime_capabilities.py @@ -0,0 +1,42 @@ +import json + +from vqetape.runtime_capabilities import ( + runtime_capabilities, + write_runtime_capabilities, +) + + +def test_runtime_capabilities_separate_memory_meanings(): + payload = runtime_capabilities() + + assert payload["jax"]["device_count"] >= 1 + assert payload["memory_evidence"]["process_peak_rss"][ + "meaning" + ].endswith("not GPU peak memory") + assert payload["gpu_benchmark"]["status"] in ( + "available", + "skipped", + ) + if payload["gpu_benchmark"]["status"] == "skipped": + assert "no GPU" in payload["gpu_benchmark"]["reason"] + assert not payload["gpu_benchmark"][ + "peak_memory_measured" + ] + + +def test_runtime_capability_report_is_json_round_trippable( + tmp_path, +): + output = tmp_path / "runtime.json" + findings = tmp_path / "runtime.md" + + payload = write_runtime_capabilities( + output, + findings, + ) + restored = json.loads(output.read_text()) + + assert restored == payload + assert findings.read_text().startswith( + "# VQETape runtime capabilities" + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_candidates.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_candidates.py new file mode 100644 index 000000000..93ea0c10b --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_candidates.py @@ -0,0 +1,202 @@ +import pytest + +from vqetape.spatial_candidates import ( + enumerate_spatial_candidates, + enumerate_symmetry_candidates, + rank_spatial_candidates_by_ad_cost, +) +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spec import CompileRequest, TFIMVQESpec + + +def test_spatial_candidates_cover_path_and_adjoint_axes(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=8, depth=1), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, + warm_repeats=1, + ) + candidates = enumerate_spatial_candidates(request) + + assert {item.path_strategy for item in candidates} == { + "greedy", + "random-greedy", + "auto-hq", + } + assert {item.adjoint for item in candidates} == { + "default", + "explicit", + "remat", + "segmented", + } + assert {item.block_width for item in candidates} == { + 1, + 2, + 3, + 4, + } + assert { + item.segment_length + for item in candidates + if item.adjoint == "segmented" + } == {2} + assert { + item.block_width + for item in candidates + if item.adjoint == "segmented" + } == {1} + assert len(candidates) == 78 + assert len(candidates) == len(set(candidates)) + for strategy in {"greedy", "random-greedy", "auto-hq"}: + for block_width in {1, 2, 3, 4}: + matching = [ + item + for item in candidates + if item.path_strategy == strategy + and item.block_width == block_width + ] + paths = {item.column_paths for item in matching} + assert len(paths) == 1 + assert next(iter(paths)) is not None + costs = set() + for item in matching: + planned = plan_spatial_transfer( + request.spec, + item.path_strategy, + explicit_paths=item.column_paths, + block_width=item.block_width, + ) + assert planned.bulk is not None + costs.add( + ( + planned.first.flops, + planned.bulk.flops, + ( + planned.tail.flops + if planned.tail is not None + else 0 + ), + planned.last.flops, + ) + ) + if item.adjoint != "segmented": + full_blocks = ( + request.spec.nqubits - 2 + ) // item.block_width + assert item.unroll in { + min(value, full_blocks) + for value in (1, 2, 4) + } + assert len(costs) == 1 + + +def test_spatial_candidate_ad_ranking_is_deterministic(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=8, depth=1), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, + warm_repeats=1, + ) + candidates = tuple( + item + for item in enumerate_spatial_candidates( + request, + strategies=("greedy",), + ) + if item.block_width in (1, 2) + and item.adjoint == "default" + ) + + first = rank_spatial_candidates_by_ad_cost( + request, + candidates, + ) + second = rank_spatial_candidates_by_ad_cost( + request, + candidates, + ) + + assert first == second + assert {item.config for item in first} == set(candidates) + assert all( + item.ad_cost.static_score > 0 + for item in first + ) + scores = tuple( + item.ad_cost.static_score for item in first + ) + assert scores == tuple(sorted(scores)) + + +def test_two_qubit_candidates_omit_bulk_adjoint_schedules(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=2, depth=1), + memory_budget_bytes=1024**3, + expected_vqe_steps=10, + ) + candidates = enumerate_spatial_candidates(request) + + assert len(candidates) == 6 + assert {item.adjoint for item in candidates} == { + "default", + "explicit", + } + assert {item.unroll for item in candidates} == {1} + assert all( + item.column_paths is not None + and len(item.column_paths) == 2 + for item in candidates + ) + + +def test_symmetry_candidates_are_fixed_path_triples(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=8, depth=1), + memory_budget_bytes=2 * 1024**3, + expected_vqe_steps=100, + warm_repeats=1, + ) + candidates = enumerate_symmetry_candidates( + request, + strategies=("greedy",), + ) + + assert len(candidates) == 21 + assert {item.symmetry for item in candidates} == { + "none", + "z2-reference", + "z2-native", + } + for block_width in (1, 2, 3, 4): + matching = [ + item + for item in candidates + if item.block_width == block_width + ] + by_unroll = { + item.unroll for item in matching + } + for unroll in by_unroll: + triple = [ + item + for item in matching + if item.unroll == unroll + ] + assert len(triple) == 3 + assert len( + {item.column_paths for item in triple} + ) == 1 + + +def test_symmetry_candidates_reject_zero_initial_state(): + request = CompileRequest( + spec=TFIMVQESpec( + nqubits=5, + depth=1, + initial_state="zero", + ), + memory_budget_bytes=1024**3, + expected_vqe_steps=10, + ) + with pytest.raises(ValueError, match="plus"): + enumerate_symmetry_candidates(request) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_plan.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_plan.py new file mode 100644 index 000000000..689df5d70 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_plan.py @@ -0,0 +1,190 @@ +from math import prod + +import pytest + +from vqetape.spatial_plan import ( + _cut_for_index, + _validate_cut_shapes, + plan_spatial_transfer, + spatial_slot_site, +) +from vqetape.spec import TFIMVQESpec +from vqetape.tn_template import ( + TensorSlot, + build_mpo_expectation_template, +) + + +@pytest.mark.parametrize("depth", [1, 2, 3]) +def test_spatial_partition_has_exact_boundary_dimension(depth): + spec = TFIMVQESpec(nqubits=4, depth=depth) + program = plan_spatial_transfer(spec, "greedy") + expected_shape = (2,) * (2 * depth) + (3,) + + assert program.boundary_shape == expected_shape + assert program.boundary_dimension == 3 * 4**depth + assert prod(program.boundary_shape) == program.boundary_dimension + assert program.first.right_boundary_shape == expected_shape + assert program.last.left_boundary_shape == expected_shape + assert program.bulk is not None + assert program.bulk.left_boundary_shape == expected_shape + assert program.bulk.right_boundary_shape == expected_shape + assert program.first.output_elements == program.boundary_dimension + assert program.bulk.output_elements == program.boundary_dimension + assert program.last.output_elements == 1 + assert all( + step.output_elements < program.boundary_dimension**2 + for step in program.bulk.steps + ) + + +def test_rzz_factor_ownership_uses_physical_site(): + spec = TFIMVQESpec(nqubits=3, depth=1) + template = build_mpo_expectation_template( + spec, + gate_representation="operator_schmidt", + ) + left = next( + slot for slot in template.slots if slot.kind == "ket_rzz_left" + ) + right = next( + slot for slot in template.slots if slot.kind == "ket_rzz_right" + ) + + assert spatial_slot_site(left) == left.wire + assert spatial_slot_site(right) == right.wire + 1 + + +def test_two_qubit_program_has_no_bulk_column(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=2, depth=2), + "greedy", + ) + assert program.bulk is None + + +def test_bulk_columns_have_one_canonical_program(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=6, depth=2), + "greedy", + ) + assert program.bulk is not None + assert program.bulk.carry_is_input + assert program.first.carry_is_input is False + assert program.last.carry_is_input + + +@pytest.mark.parametrize( + ("nqubits", "block_width", "full_blocks", "tail_width"), + [ + (8, 1, 6, 0), + (8, 2, 3, 0), + (8, 4, 1, 2), + (5, 3, 1, 0), + (4, 3, 0, 2), + ], +) +def test_blocked_spatial_plan_partitions_interior( + nqubits, + block_width, + full_blocks, + tail_width, +): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=nqubits, depth=1), + "greedy", + block_width=block_width, + ) + + assert program.block_width == block_width + assert program.bulk_block_count == full_blocks + assert program.tail_width == tail_width + assert (program.bulk.width if program.bulk else 0) == ( + block_width if full_blocks else 0 + ) + assert (program.tail.width if program.tail else 0) == tail_width + + +def test_block_program_keeps_only_external_boundary(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=8, depth=2), + "greedy", + block_width=3, + ) + + assert program.bulk is not None + assert program.bulk.left_boundary_shape == program.boundary_shape + assert program.bulk.right_boundary_shape == program.boundary_shape + assert program.bulk.output_elements == program.boundary_dimension + assert all( + step.output_elements < program.boundary_dimension**2 + for step in program.bulk.steps + ) + + +def test_block_slots_record_site_offsets(): + program = plan_spatial_transfer( + TFIMVQESpec(nqubits=6, depth=1), + "greedy", + block_width=2, + ) + + assert program.bulk is not None + assert {slot.site_offset for slot in program.bulk.slots} == {0, 1} + + +def test_explicit_column_paths_are_reused(): + spec = TFIMVQESpec(nqubits=4, depth=1) + planned = plan_spatial_transfer(spec, "greedy") + paths = ( + planned.first.path, + planned.bulk.path, + planned.last.path, + ) + reused = plan_spatial_transfer( + spec, + "greedy", + explicit_paths=paths, + ) + + assert reused.first.path == planned.first.path + assert reused.bulk is not None + assert planned.bulk is not None + assert reused.bulk.path == planned.bulk.path + assert reused.last.path == planned.last.path + + +def test_explicit_column_paths_require_role_count(): + with pytest.raises(ValueError, match="column paths"): + plan_spatial_transfer( + TFIMVQESpec(nqubits=4, depth=1), + "greedy", + explicit_paths=(((0, 1),),), + ) + + +def test_dense_rzz_slot_has_no_spatial_owner(): + slot = TensorSlot( + "ket_rzz", + (0, 1, 2, 3), + (2, 2, 2, 2), + layer=0, + wire=0, + ) + with pytest.raises(ValueError, match="dense RZZ"): + spatial_slot_site(slot) + + +def test_spatial_cut_rejects_nonlocal_index(): + with pytest.raises(ValueError, match="nearest-neighbor"): + _cut_for_index(7, [(0, 2), (2, 2)]) + + +def test_spatial_cut_rejects_inconsistent_extent(): + with pytest.raises(ValueError, match="inconsistent extent"): + _cut_for_index(7, [(0, 2), (1, 3)]) + + +def test_spatial_cut_rejects_inconsistent_shapes(): + with pytest.raises(ValueError, match="cut shapes"): + _validate_cut_shapes(((2, 2, 3), (2, 3)), (2, 2, 3)) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_programs.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_programs.py new file mode 100644 index 000000000..a0884496a --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spatial_programs.py @@ -0,0 +1,767 @@ +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spatial_programs import ( + SpatialSiteParameters, + bind_spatial_column, + build_spatial_energy, + build_spatial_value_and_grad, + execute_spatial_column, + modeled_spatial_checkpoint_count, + spatial_energy_unrolled, +) +from vqetape.spec import SpatialProgramConfig, TFIMVQESpec +from vqetape.tn_vqe import build_tn_energy + + +@pytest.mark.parametrize("nqubits", [2, 3, 4, 5]) +@pytest.mark.parametrize("depth", [1, 2]) +@pytest.mark.parametrize("initial_state", ["zero", "plus"]) +def test_sequential_spatial_energy_matches_global_mpo( + nqubits, + depth, + initial_state, +): + spec = TFIMVQESpec( + nqubits=nqubits, + depth=depth, + coupling=0.7, + field=0.3, + initial_state=initial_state, + ) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + program = plan_spatial_transfer(spec, "greedy") + actual = spatial_energy_unrolled(theta, program) + reference, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + gate_representation="operator_schmidt", + hamiltonian_representation="mpo", + ) + + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(reference(theta)), + rtol=1e-5, + atol=1e-5, + ) + + +def test_sequential_spatial_energy_supports_complex128(): + with jax.enable_x64(): + spec = TFIMVQESpec( + nqubits=3, + depth=1, + coupling=0.7, + field=0.3, + initial_state="plus", + dtype="complex128", + ) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float64, + ).reshape(spec.parameter_shape) + program = plan_spatial_transfer(spec, "greedy") + actual = spatial_energy_unrolled(theta, program) + reference, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + gate_representation="operator_schmidt", + hamiltonian_representation="mpo", + ) + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(reference(theta)), + rtol=1e-10, + atol=1e-10, + ) + + +def test_spatial_column_validates_boundary_carry(): + spec = TFIMVQESpec(nqubits=3, depth=1) + transfer = plan_spatial_transfer(spec, "greedy") + assert transfer.bulk is not None + zeros = jnp.zeros((spec.depth,), dtype=jnp.float32) + parameters = SpatialSiteParameters(zeros, zeros, zeros) + bulk_tensors = bind_spatial_column( + transfer.bulk, + parameters, + spec, + ) + first_tensors = bind_spatial_column( + transfer.first, + parameters, + spec, + ) + + with pytest.raises(ValueError, match="requires a boundary carry"): + execute_spatial_column(transfer.bulk, None, bulk_tensors) + with pytest.raises(ValueError, match="carry shape"): + execute_spatial_column( + transfer.bulk, + jnp.zeros((2,), dtype=jnp.complex64), + bulk_tensors, + ) + with pytest.raises(ValueError, match="does not accept"): + execute_spatial_column( + transfer.first, + jnp.zeros(transfer.boundary_shape, dtype=jnp.complex64), + first_tensors, + ) + + +@pytest.mark.parametrize("nqubits", [2, 3, 5]) +@pytest.mark.parametrize("depth", [1, 2]) +@pytest.mark.parametrize("adjoint", ["default", "remat"]) +def test_spatial_scan_matches_global_mpo_full_gradient( + nqubits, + depth, + adjoint, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=depth) + theta = jnp.linspace( + -0.1, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + config = SpatialProgramConfig("greedy", adjoint, unroll=1) + energy = build_spatial_energy(spec, config) + actual_energy, actual_gradient = jax.value_and_grad(energy)(theta) + reference, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + hamiltonian_representation="mpo", + ) + expected_energy, expected_gradient = jax.value_and_grad(reference)(theta) + + np.testing.assert_allclose( + np.asarray(actual_energy), + np.asarray(expected_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(actual_gradient), + np.asarray(expected_gradient), + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(actual_gradient[:, 0, -1]), + np.zeros((depth,), dtype=np.float32), + ) + + +def test_spatial_scan_supports_unroll_two(): + spec = TFIMVQESpec(nqubits=6, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + unroll_one = build_spatial_energy( + spec, + SpatialProgramConfig("greedy", "default", unroll=1), + ) + unroll_two = build_spatial_energy( + spec, + SpatialProgramConfig("greedy", "default", unroll=2), + ) + value_one = jax.value_and_grad(unroll_one)(theta) + value_two = jax.value_and_grad(unroll_two)(theta) + + np.testing.assert_allclose(value_two[0], value_one[0], atol=1e-5) + np.testing.assert_allclose(value_two[1], value_one[1], atol=1e-5) + + +@pytest.mark.parametrize("nqubits", [4, 5, 6, 8]) +@pytest.mark.parametrize("block_width", [1, 2, 3, 4]) +@pytest.mark.parametrize("adjoint", ["default", "remat"]) +def test_blocked_spatial_gradient_matches_width_one( + nqubits, + block_width, + adjoint, +): + if block_width > nqubits - 2: + pytest.skip("block wider than interior") + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=1, + ), + ) + blocked = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=block_width, + ), + ) + expected = jax.value_and_grad(reference)(theta) + actual = jax.value_and_grad(blocked)(theta) + + np.testing.assert_allclose(actual[0], expected[0], atol=1e-5) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) + + +def test_blocked_spatial_tail_is_differentiated(): + spec = TFIMVQESpec(nqubits=8, depth=1) + theta = jnp.linspace( + -0.3, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + one = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=1, + ), + ) + four = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=4, + ), + ) + + np.testing.assert_allclose( + jax.value_and_grad(four)(theta)[1], + jax.value_and_grad(one)(theta)[1], + rtol=1e-4, + atol=1e-5, + ) + + +@pytest.mark.parametrize( + ("nqubits", "block_width"), + [(5, 1), (8, 2), (8, 3), (10, 4)], +) +def test_explicit_spatial_adjoint_matches_default( + nqubits, + block_width, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + default = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=block_width, + ), + ) + explicit = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "explicit", + block_width=block_width, + ), + ) + expected = jax.value_and_grad(default)(theta) + actual = jax.value_and_grad(explicit)(theta) + + np.testing.assert_allclose( + actual[0], + expected[0], + atol=1e-5, + ) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) + + +@pytest.mark.parametrize( + ("nqubits", "depth", "block_width", "adjoint"), + [ + (5, 1, 1, "default"), + (8, 1, 2, "remat"), + (8, 2, 3, "explicit"), + (10, 1, 4, "default"), + (8, 1, 1, "segmented"), + ], +) +def test_z2_reference_spatial_gradient_matches_dense( + nqubits, + depth, + block_width, + adjoint, +): + spec = TFIMVQESpec( + nqubits=nqubits, + depth=depth, + initial_state="plus", + ) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + kwargs = ( + {"segment_length": 2} + if adjoint == "segmented" + else {} + ) + dense = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=block_width, + **kwargs, + ), + ) + compressed = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=block_width, + symmetry="z2-reference", + **kwargs, + ), + ) + expected = jax.value_and_grad(dense)(theta) + actual = jax.value_and_grad(compressed)(theta) + + np.testing.assert_allclose( + actual[0], + expected[0], + rtol=1e-5, + atol=1e-5, + ) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) + + +def test_z2_reference_requires_symmetric_initial_state(): + spec = TFIMVQESpec( + nqubits=5, + depth=1, + initial_state="zero", + ) + with pytest.raises(ValueError, match="plus"): + build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-reference", + ), + ) + + +def test_z2_reference_scan_carry_is_compressed(): + spec = TFIMVQESpec(nqubits=8, depth=1) + theta = jnp.zeros( + spec.parameter_shape, + dtype=jnp.float32, + ) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-reference", + ), + ) + text = executable.lower(theta).as_text().lower() + + assert "while" in text + assert "tensor<6xcomplex>" in text + + +def test_z2_reference_supports_complex128(): + with jax.enable_x64(): + spec = TFIMVQESpec( + nqubits=5, + depth=1, + dtype="complex128", + ) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float64, + ).reshape(spec.parameter_shape) + dense = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + ), + ) + compressed = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-reference", + ), + ) + expected = jax.value_and_grad(dense)(theta) + actual = jax.value_and_grad(compressed)(theta) + + np.testing.assert_allclose( + actual[0], + expected[0], + rtol=1e-10, + atol=1e-10, + ) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-9, + atol=1e-10, + ) + + +@pytest.mark.parametrize( + ("nqubits", "depth", "block_width", "adjoint"), + [ + (5, 1, 1, "default"), + (8, 1, 2, "remat"), + (8, 2, 3, "default"), + (10, 1, 4, "default"), + (8, 1, 1, "segmented"), + ], +) +def test_z2_native_spatial_gradient_matches_reference( + nqubits, + depth, + block_width, + adjoint, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=depth) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + kwargs = ( + {"segment_length": 2} + if adjoint == "segmented" + else {} + ) + reference = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=block_width, + symmetry="z2-reference", + **kwargs, + ), + ) + native = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=block_width, + symmetry="z2-native", + **kwargs, + ), + ) + expected = jax.value_and_grad(reference)(theta) + actual = jax.value_and_grad(native)(theta) + + np.testing.assert_allclose( + actual[0], + expected[0], + rtol=1e-5, + atol=1e-5, + ) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) + + +def test_z2_native_rejects_unsupported_explicit_adjoint(): + with pytest.raises(ValueError, match="explicit"): + build_spatial_energy( + TFIMVQESpec(nqubits=5, depth=1), + SpatialProgramConfig( + "greedy", + "explicit", + symmetry="z2-native", + ), + ) + + +def test_z2_native_scan_carry_is_compressed(): + spec = TFIMVQESpec(nqubits=8, depth=1) + theta = jnp.zeros( + spec.parameter_shape, + dtype=jnp.float32, + ) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + ) + text = executable.lower(theta).as_text().lower() + + assert "while" in text + assert "tensor<6xcomplex>" in text + + +def test_z2_native_supports_complex128(): + with jax.enable_x64(): + spec = TFIMVQESpec( + nqubits=5, + depth=1, + dtype="complex128", + ) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float64, + ).reshape(spec.parameter_shape) + reference = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-reference", + ), + ) + native = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + ) + expected = jax.value_and_grad(reference)(theta) + actual = jax.value_and_grad(native)(theta) + + np.testing.assert_allclose( + actual[0], + expected[0], + rtol=1e-10, + atol=1e-10, + ) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-9, + atol=1e-10, + ) + + +def test_blocked_spatial_scan_lowers_to_while(): + spec = TFIMVQESpec(nqubits=10, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=2, + unroll=1, + ), + ) + + assert "while" in executable.lower(theta).as_text().lower() + + +def test_spatial_scan_lowers_to_while(): + spec = TFIMVQESpec(nqubits=6, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig("greedy", "default", unroll=1), + ) + text = executable.lower(theta).as_text() + + assert "while" in text.lower() + + +def test_spatial_scan_ir_size_is_stable_with_chain_length(): + texts = {} + for nqubits in (6, 10): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + executable = build_spatial_value_and_grad( + spec, + SpatialProgramConfig("greedy", "default", unroll=1), + ) + texts[nqubits] = executable.lower(theta).as_text() + assert "while" in texts[nqubits].lower() + + assert len(texts[10]) < 2 * len(texts[6]) + + +@pytest.mark.parametrize( + ("nqubits", "segment_length"), + [(4, 1), (7, 2), (8, 3)], +) +def test_segmented_spatial_adjoint_matches_default( + nqubits, + segment_length, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + default = build_spatial_energy( + spec, + SpatialProgramConfig("greedy", "default"), + ) + segmented = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "segmented", + segment_length=segment_length, + ), + ) + default_value = jax.value_and_grad(default)(theta) + segmented_value = jax.value_and_grad(segmented)(theta) + + np.testing.assert_allclose( + np.asarray(segmented_value[0]), + np.asarray(default_value[0]), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(segmented_value[1]), + np.asarray(default_value[1]), + rtol=1e-4, + atol=1e-5, + ) + + +def test_segmented_spatial_adjoint_requires_bulk_columns(): + spec = TFIMVQESpec(nqubits=2, depth=1) + config = SpatialProgramConfig( + "greedy", + "segmented", + segment_length=1, + ) + with pytest.raises(ValueError, match="bulk"): + build_spatial_energy(spec, config) + + +@pytest.mark.parametrize( + ("nqubits", "block_width", "segment_length"), + [(10, 2, 2), (14, 3, 2), (15, 4, 2)], +) +def test_blocked_segmented_matches_blocked_default( + nqubits, + block_width, + segment_length, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + theta = jnp.linspace( + -0.2, + 0.2, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + default = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "default", + block_width=block_width, + ), + ) + segmented = build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + "segmented", + block_width=block_width, + segment_length=segment_length, + ), + ) + expected = jax.value_and_grad(default)(theta) + actual = jax.value_and_grad(segmented)(theta) + + np.testing.assert_allclose(actual[0], expected[0], atol=1e-5) + np.testing.assert_allclose( + actual[1], + expected[1], + rtol=1e-4, + atol=1e-5, + ) + + +def test_modeled_spatial_checkpoint_count(): + spec = TFIMVQESpec(nqubits=8, depth=1) + assert modeled_spatial_checkpoint_count( + spec, + SpatialProgramConfig("greedy", "default"), + ) == 6 + assert modeled_spatial_checkpoint_count( + spec, + SpatialProgramConfig( + "greedy", + "segmented", + segment_length=2, + ), + ) == 5 + assert modeled_spatial_checkpoint_count( + spec, + SpatialProgramConfig( + "greedy", + "segmented", + segment_length=3, + ), + ) == 5 diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spec.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spec.py new file mode 100644 index 000000000..8033341c3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_spec.py @@ -0,0 +1,242 @@ +import pytest + +from vqetape.spec import ( + CompileRequest, + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, + TensorProgramConfig, + dtype_bytes, +) + + +def test_tfim_spec_parameter_shape_and_count(): + spec = TFIMVQESpec(nqubits=5, depth=3) + assert spec.parameter_shape == (3, 2, 5) + assert spec.active_parameter_count == 3 * (2 * 5 - 1) + + +@pytest.mark.parametrize( + ("kwargs", "message"), + [ + ({"nqubits": 1}, "nqubits"), + ({"depth": 0}, "depth"), + ({"dtype": "float32"}, "dtype"), + ({"initial_state": "bell"}, "initial_state"), + ], +) +def test_tfim_spec_rejects_invalid_values(kwargs, message): + values = {"nqubits": 4, "depth": 2} + values.update(kwargs) + with pytest.raises(ValueError, match=message): + TFIMVQESpec(**values) + + +def test_segmented_config_requires_scan_and_segment_length(): + with pytest.raises(ValueError, match="segmented"): + ProgramConfig( + control_flow="unrolled", + adjoint="segmented", + unroll=1, + segment_length=2, + ) + with pytest.raises(ValueError, match="segment_length"): + ProgramConfig(control_flow="scan", adjoint="segmented", unroll=1) + + +def test_compile_request_requires_positive_budget_and_steps(): + spec = TFIMVQESpec(nqubits=4, depth=2) + with pytest.raises(ValueError, match="memory_budget_bytes"): + CompileRequest(spec=spec, memory_budget_bytes=0, expected_vqe_steps=10) + with pytest.raises(ValueError, match="expected_vqe_steps"): + CompileRequest(spec=spec, memory_budget_bytes=1024, expected_vqe_steps=0) + + +def test_dtype_bytes(): + assert dtype_bytes("complex64") == 8 + assert dtype_bytes("complex128") == 16 + + +def test_request_round_trip(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=4, depth=2), + memory_budget_bytes=1024, + expected_vqe_steps=10, + ) + assert CompileRequest.from_dict(request.to_dict()) == request + + +def test_tensor_program_representation_round_trip(): + config = TensorProgramConfig( + "greedy", + "none", + gate_representation="operator_schmidt", + ) + assert TensorProgramConfig.from_dict(config.to_dict()) == config + assert "operator-schmidt" in config.label + + +def test_tensor_program_rejects_unknown_gate_representation(): + with pytest.raises(ValueError, match="gate_representation"): + TensorProgramConfig( + "greedy", + "none", + gate_representation="sparse", + ) + + +def test_tensor_program_hamiltonian_representation_round_trip(): + config = TensorProgramConfig( + "greedy", + "none", + hamiltonian_representation="mpo", + ) + assert TensorProgramConfig.from_dict(config.to_dict()) == config + assert "-mpo-" in config.label + + +def test_tensor_program_rejects_unknown_hamiltonian_representation(): + with pytest.raises(ValueError, match="hamiltonian_representation"): + TensorProgramConfig( + "greedy", + "none", + hamiltonian_representation="dense_matrix", + ) + + +def test_spatial_program_config_round_trip(): + config = SpatialProgramConfig( + path_strategy="greedy", + adjoint="segmented", + unroll=2, + segment_length=3, + ) + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert config.label == "spatial-transfer-greedy-b1-segmented-u2-s3" + + +def test_spatial_config_round_trips_block_width(): + config = SpatialProgramConfig( + "greedy", + "remat", + unroll=2, + block_width=3, + ) + + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert "-b3-" in config.label + + +def test_explicit_spatial_adjoint_round_trip(): + config = SpatialProgramConfig( + "greedy", + "explicit", + block_width=2, + unroll=2, + ) + + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert "explicit" in config.label + + +@pytest.mark.parametrize( + "symmetry", + ["none", "z2-reference", "z2-native"], +) +def test_spatial_symmetry_mode_round_trip(symmetry): + config = SpatialProgramConfig( + "greedy", + "default", + block_width=2, + symmetry=symmetry, + ) + + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + if symmetry == "none": + assert "z2" not in config.label + else: + assert symmetry in config.label + + +def test_old_spatial_config_defaults_to_no_symmetry(): + payload = SpatialProgramConfig( + "greedy", + "default", + ).to_dict() + payload.pop("symmetry") + + assert ( + SpatialProgramConfig.from_dict(payload).symmetry + == "none" + ) + + +def test_spatial_config_rejects_nonpositive_block_width(): + with pytest.raises(ValueError, match="block_width"): + SpatialProgramConfig( + "greedy", + "default", + block_width=0, + ) + + +def test_old_spatial_config_defaults_to_width_one(): + payload = { + "path_strategy": "greedy", + "adjoint": "default", + "unroll": 1, + "segment_length": None, + "column_paths": None, + "representation": "spatial_transfer", + } + + assert SpatialProgramConfig.from_dict(payload).block_width == 1 + + +def test_spatial_program_paths_round_trip(): + paths = ( + ((0, 1), (0, 1)), + ((0, 1), (0, 1), (0, 1)), + ((0, 1),), + ) + config = SpatialProgramConfig( + path_strategy="random-greedy", + adjoint="default", + column_paths=paths, + ) + + assert SpatialProgramConfig.from_dict(config.to_dict()) == config + assert config.column_paths == paths + + +@pytest.mark.parametrize( + "kwargs", + [ + {"path_strategy": "unknown", "adjoint": "default"}, + {"path_strategy": "greedy", "adjoint": "unknown"}, + { + "path_strategy": "greedy", + "adjoint": "default", + "symmetry": "unknown", + }, + {"path_strategy": "greedy", "adjoint": "default", "unroll": 0}, + { + "path_strategy": "greedy", + "adjoint": "segmented", + "segment_length": None, + }, + { + "path_strategy": "greedy", + "adjoint": "default", + "segment_length": 2, + }, + { + "path_strategy": "greedy", + "adjoint": "default", + "column_paths": (((0, 1),),), + }, + ], +) +def test_spatial_program_config_rejects_invalid_values(kwargs): + with pytest.raises(ValueError): + SpatialProgramConfig(**kwargs) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_subprocess_env.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_subprocess_env.py new file mode 100644 index 000000000..b02a43334 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_subprocess_env.py @@ -0,0 +1,33 @@ +from vqetape.subprocess_env import worker_environment + + +def test_worker_environment_defaults_to_highest_matmul_precision( + monkeypatch, +): + monkeypatch.delenv( + "JAX_DEFAULT_MATMUL_PRECISION", + raising=False, + ) + + environment = worker_environment() + + assert ( + environment["JAX_DEFAULT_MATMUL_PRECISION"] + == "highest" + ) + + +def test_worker_environment_preserves_explicit_precision( + monkeypatch, +): + monkeypatch.setenv( + "JAX_DEFAULT_MATMUL_PRECISION", + "default", + ) + + environment = worker_environment() + + assert ( + environment["JAX_DEFAULT_MATMUL_PRECISION"] + == "default" + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_symmetry.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_symmetry.py new file mode 100644 index 000000000..f97f4c012 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_symmetry.py @@ -0,0 +1,196 @@ +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spatial_programs import ( + SpatialSiteParameters, + bind_spatial_column, + execute_spatial_column, +) +from vqetape.spec import TFIMVQESpec +from vqetape.symmetry import ( + compress_boundary, + expand_boundary, + forbidden_boundary_norm, + z2_boundary_sector, + z2_symmetry_applicability, +) + + +@pytest.mark.parametrize( + ("shape", "active", "dense"), + [ + ((2, 2, 3), 6, 12), + ((2, 2, 2, 2, 3), 24, 48), + ], +) +def test_z2_boundary_sector_removes_exactly_half( + shape, + active, + dense, +): + sector = z2_boundary_sector(shape) + + assert sector.active_count == active + assert sector.dense_count == dense + assert sector.active_fraction == 0.5 + assert sector.compression_factor == 2.0 + assert sector.active_positions == tuple( + sorted(sector.active_positions) + ) + assert sector.forbidden_positions == tuple( + sorted(sector.forbidden_positions) + ) + assert not ( + set(sector.active_positions) + & set(sector.forbidden_positions) + ) + assert ( + set(sector.active_positions) + | set(sector.forbidden_positions) + ) == set(range(dense)) + assert sector.to_dict()["active_count"] == active + + +@pytest.mark.parametrize( + "shape", + [ + (), + (2, 3), + (2, 2, 2, 3), + (2, 4, 3), + (2, 2, 4), + ], +) +def test_z2_boundary_sector_rejects_invalid_shape(shape): + with pytest.raises(ValueError, match="boundary"): + z2_boundary_sector(shape) + + +def test_z2_symmetry_requires_plus_initial_state(): + assert z2_symmetry_applicability( + TFIMVQESpec( + nqubits=4, + depth=1, + initial_state="plus", + ) + ) == (True, "supported global-X Z2 sector") + + applicable, reason = z2_symmetry_applicability( + TFIMVQESpec( + nqubits=4, + depth=1, + initial_state="zero", + ) + ) + assert not applicable + assert "plus" in reason + + +@pytest.mark.parametrize("depth", [1, 2]) +def test_dense_spatial_recurrence_preserves_z2_sector(depth): + spec = TFIMVQESpec( + nqubits=5, + depth=depth, + initial_state="plus", + ) + theta = jnp.linspace( + -0.3, + 0.4, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + transfer = plan_spatial_transfer(spec, "greedy") + sector = z2_boundary_sector(transfer.boundary_shape) + zeros = jnp.zeros((depth,), dtype=jnp.float32) + + def parameters(site): + return SpatialSiteParameters( + left_rzz=( + theta[:, 0, site - 1] + if site > 0 + else zeros + ), + right_rzz=( + theta[:, 0, site] + if site < spec.nqubits - 1 + else zeros + ), + rx=theta[:, 1, site], + ) + + boundary = execute_spatial_column( + transfer.first, + None, + bind_spatial_column( + transfer.first, + parameters(0), + spec, + ), + ) + np.testing.assert_allclose( + forbidden_boundary_norm(boundary, sector), + 0, + atol=2e-6, + ) + np.testing.assert_allclose( + expand_boundary( + compress_boundary(boundary, sector), + sector, + ), + boundary, + atol=2e-6, + ) + + assert transfer.bulk is not None + for site in range(1, spec.nqubits - 1): + boundary = execute_spatial_column( + transfer.bulk, + boundary, + bind_spatial_column( + transfer.bulk, + parameters(site), + spec, + ), + ) + np.testing.assert_allclose( + forbidden_boundary_norm( + boundary, + sector, + ), + 0, + atol=2e-6, + ) + np.testing.assert_allclose( + expand_boundary( + compress_boundary(boundary, sector), + sector, + ), + boundary, + atol=2e-6, + ) + + last_tensors = bind_spatial_column( + transfer.last, + parameters(spec.nqubits - 1), + spec, + ) + dense_energy = execute_spatial_column( + transfer.last, + boundary, + last_tensors, + ) + compressed_energy = execute_spatial_column( + transfer.last, + expand_boundary( + compress_boundary(boundary, sector), + sector, + ), + last_tensors, + ) + np.testing.assert_allclose( + compressed_energy, + dense_energy, + atol=2e-6, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_symmetry_programs.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_symmetry_programs.py new file mode 100644 index 000000000..bd22458cf --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_symmetry_programs.py @@ -0,0 +1,268 @@ +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.spatial_plan import plan_spatial_transfer +from vqetape.spatial_programs import ( + SpatialSiteParameters, + bind_spatial_block, + bind_spatial_column, + execute_spatial_column, +) +from vqetape.spec import TFIMVQESpec +from vqetape.symmetry import ( + compress_boundary, + expand_boundary, + z2_boundary_sector, +) +from vqetape.symmetry_programs import ( + build_z2_native_contraction, +) + + +def _parameters(spec): + values = jnp.linspace( + -0.2, + 0.3, + 3 * spec.depth, + dtype=jnp.float32, + ).reshape(3, spec.depth) + return SpatialSiteParameters( + values[0], + values[1], + values[2], + ) + + +def test_z2_native_first_bulk_and_last_match_reference(): + spec = TFIMVQESpec(nqubits=5, depth=1) + transfer = plan_spatial_transfer(spec, "greedy") + sector = z2_boundary_sector(transfer.boundary_shape) + parameters = _parameters(spec) + + first_tensors = bind_spatial_column( + transfer.first, + parameters, + spec, + ) + native_first = build_z2_native_contraction( + transfer.first, + sector, + dtype=jnp.complex64, + ) + compressed = native_first.executor( + None, + first_tensors, + ) + dense = execute_spatial_column( + transfer.first, + None, + first_tensors, + ) + np.testing.assert_allclose( + compressed, + compress_boundary(dense, sector), + atol=1e-6, + ) + + assert transfer.bulk is not None + bulk_tensors = bind_spatial_column( + transfer.bulk, + parameters, + spec, + ) + native_bulk = build_z2_native_contraction( + transfer.bulk, + sector, + dtype=jnp.complex64, + ) + compressed = native_bulk.executor( + compressed, + bulk_tensors, + ) + dense = execute_spatial_column( + transfer.bulk, + dense, + bulk_tensors, + ) + np.testing.assert_allclose( + compressed, + compress_boundary(dense, sector), + atol=1e-6, + ) + + last_tensors = bind_spatial_column( + transfer.last, + parameters, + spec, + ) + native_last = build_z2_native_contraction( + transfer.last, + sector, + dtype=jnp.complex64, + ) + actual_energy = native_last.executor( + compressed, + last_tensors, + ) + expected_energy = execute_spatial_column( + transfer.last, + dense, + last_tensors, + ) + np.testing.assert_allclose( + actual_energy, + expected_energy, + atol=1e-6, + ) + + +@pytest.mark.parametrize( + ("nqubits", "block_width"), + [(8, 2), (8, 4)], +) +def test_z2_native_block_and_tail_match_reference( + nqubits, + block_width, +): + spec = TFIMVQESpec(nqubits=nqubits, depth=1) + transfer = plan_spatial_transfer( + spec, + "greedy", + block_width=block_width, + ) + sector = z2_boundary_sector(transfer.boundary_shape) + compressed = jnp.linspace( + 0.1, + 0.6, + sector.active_count, + dtype=jnp.float32, + ).astype(jnp.complex64) + + for program in (transfer.bulk, transfer.tail): + if program is None: + continue + packed = jnp.linspace( + -0.2, + 0.3, + program.width * 3 * spec.depth, + dtype=jnp.float32, + ).reshape(program.width, 3, spec.depth) + tensors = bind_spatial_block(program, packed, spec) + native = build_z2_native_contraction( + program, + sector, + dtype=jnp.complex64, + ) + actual = native.executor(compressed, tensors) + dense = execute_spatial_column( + program, + expand_boundary(compressed, sector), + tensors, + ) + expected = compress_boundary(dense, sector) + np.testing.assert_allclose( + actual, + expected, + rtol=1e-5, + atol=1e-5, + ) + + +def test_z2_native_bulk_vjp_matches_expand_gather_reference(): + spec = TFIMVQESpec(nqubits=5, depth=1) + transfer = plan_spatial_transfer(spec, "greedy") + assert transfer.bulk is not None + sector = z2_boundary_sector(transfer.boundary_shape) + tensors = bind_spatial_column( + transfer.bulk, + _parameters(spec), + spec, + ) + carry = jnp.linspace( + 0.1, + 0.6, + sector.active_count, + dtype=jnp.float32, + ).astype(jnp.complex64) + native = build_z2_native_contraction( + transfer.bulk, + sector, + dtype=jnp.complex64, + ) + + def actual_fn(boundary, *values): + return native.executor(boundary, tuple(values)) + + def reference_fn(boundary, *values): + dense = execute_spatial_column( + transfer.bulk, + expand_boundary(boundary, sector), + tuple(values), + ) + return compress_boundary(dense, sector) + + actual_value, actual_pullback = jax.vjp( + actual_fn, + carry, + *tensors, + ) + expected_value, expected_pullback = jax.vjp( + reference_fn, + carry, + *tensors, + ) + cotangent = jnp.full_like( + actual_value, + 0.7 + 0.2j, + ) + np.testing.assert_allclose( + actual_value, + expected_value, + atol=1e-6, + ) + for actual, expected in zip( + actual_pullback(cotangent), + expected_pullback(cotangent), + strict=True, + ): + np.testing.assert_allclose( + actual, + expected, + rtol=1e-5, + atol=1e-5, + ) + + +def test_z2_native_transition_has_no_dense_carry_scatter(): + spec = TFIMVQESpec(nqubits=5, depth=1) + transfer = plan_spatial_transfer(spec, "greedy") + assert transfer.bulk is not None + sector = z2_boundary_sector(transfer.boundary_shape) + tensors = bind_spatial_column( + transfer.bulk, + _parameters(spec), + spec, + ) + carry = jnp.zeros( + (sector.active_count,), + dtype=jnp.complex64, + ) + native = build_z2_native_contraction( + transfer.bulk, + sector, + dtype=jnp.complex64, + ) + text = str( + jax.make_jaxpr( + lambda boundary, *values: native.executor( + boundary, + tuple(values), + ) + )(carry, *tensors) + ).lower() + + assert "bcoo_dot_general" in text + assert "scatter" not in text + assert "bcoo_todense" not in text diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tape.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tape.py new file mode 100644 index 000000000..63175a4a9 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tape.py @@ -0,0 +1,226 @@ +import jax.numpy as jnp +import pytest +from jax.ad_checkpoint import checkpoint_name + +from vqetape.spatial_programs import build_spatial_energy +from vqetape.spec import SpatialProgramConfig, TFIMVQESpec +from vqetape.tape import profile_saved_residuals +from vqetape.tn_program import plan_contraction +from vqetape.tn_template import build_expectation_template +from vqetape.tn_template import build_mpo_expectation_template +from vqetape.tn_vqe import build_tn_energy + + +def test_profile_saved_residuals_accounts_for_bytes_and_sources(): + def objective(value): + hidden = checkpoint_name( + jnp.sin(value), + "hidden", + ) + return jnp.sum(hidden * hidden) + + argument = jnp.ones((4,), dtype=jnp.float32) + profile = profile_saved_residuals(objective, argument) + + assert profile.total_bytes > 0 + assert profile.recomputable_bytes > 0 + assert profile.bytes_by_name()["hidden"] == 16 + assert sum(profile.bytes_by_category().values()) == profile.total_bytes + + +def test_residual_profile_serializes_without_full_records_by_default(): + profile = profile_saved_residuals(lambda value: jnp.sum(value**2), jnp.ones(3)) + + payload = profile.to_dict() + + assert payload["residual_count"] == len(profile.records) + assert payload["total_bytes"] == profile.total_bytes + assert "records" not in payload + assert len(profile.to_dict(include_records=True)["records"]) == len( + profile.records + ) + + +@pytest.mark.parametrize( + "spec", + [ + TFIMVQESpec(nqubits=2, depth=1), + TFIMVQESpec(nqubits=3, depth=2), + ], +) +@pytest.mark.parametrize( + "gate_representation", + ["dense", "operator_schmidt"], +) +@pytest.mark.parametrize( + "hamiltonian_representation", + ["pauli_sum", "mpo"], +) +def test_named_tape_controls_logical_residual_budget( + spec, + gate_representation, + hamiltonian_representation, +): + template = ( + build_expectation_template( + spec, + gate_representation=gate_representation, + ) + if hamiltonian_representation == "pauli_sum" + else build_mpo_expectation_template( + spec, + gate_representation=gate_representation, + ) + ) + program = plan_contraction(template, "greedy") + all_names = tuple( + f"contract:{step_index}:elements{step.output_elements}:{component}" + for step_index, step in enumerate(program.steps) + for component in ("real", "imag") + ) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + default_energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + explicit_path=program.path, + gate_representation=gate_representation, + hamiltonian_representation=hamiltonian_representation, + ) + empty_energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="named", + explicit_path=program.path, + save_names=(), + gate_representation=gate_representation, + hamiltonian_representation=hamiltonian_representation, + ) + full_energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="named", + explicit_path=program.path, + save_names=all_names, + gate_representation=gate_representation, + hamiltonian_representation=hamiltonian_representation, + ) + + default_bytes = profile_saved_residuals(default_energy, theta).total_bytes + empty_bytes = profile_saved_residuals(empty_energy, theta).total_bytes + full_bytes = profile_saved_residuals(full_energy, theta).total_bytes + + assert empty_bytes < full_bytes < default_bytes + + +def test_schmidt_lowering_eliminates_dense_diag_residuals(): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + profiles = {} + for gate_representation in ("dense", "operator_schmidt"): + energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + gate_representation=gate_representation, + ) + profiles[gate_representation] = profile_saved_residuals( + energy, + theta, + ) + + assert profiles["dense"].bytes_by_category().get("jitted:_diag", 0) > 0 + assert ( + profiles["operator_schmidt"] + .bytes_by_category() + .get("jitted:_diag", 0) + == 0 + ) + + +def test_mpo_removes_repeated_circuit_gate_residuals(): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + profiles = {} + for hamiltonian_representation in ("pauli_sum", "mpo"): + energy, _, _ = build_tn_energy( + spec, + path_strategy="greedy", + remat_policy="none", + hamiltonian_representation=hamiltonian_representation, + ) + profiles[hamiltonian_representation] = profile_saved_residuals( + energy, + theta, + ) + + assert profiles["mpo"].total_bytes < profiles["pauli_sum"].total_bytes + assert ( + profiles["mpo"].bytes_by_category().get("jitted:_diag", 0) + < profiles["pauli_sum"] + .bytes_by_category() + .get("jitted:_diag", 0) + ) + + +@pytest.mark.parametrize( + "config", + [ + SpatialProgramConfig("greedy", "default"), + SpatialProgramConfig("greedy", "remat"), + SpatialProgramConfig( + "greedy", + "segmented", + segment_length=2, + ), + SpatialProgramConfig( + "greedy", + "explicit", + block_width=3, + ), + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-reference", + ), + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + ], +) +def test_spatial_adjoint_residual_profiles_are_structured(config): + spec = TFIMVQESpec(nqubits=8, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + profile = profile_saved_residuals( + build_spatial_energy(spec, config), + theta, + ) + + assert profile.records + assert profile.total_bytes > 0 + assert profile.recomputable_bytes >= 0 + assert sum(profile.bytes_by_category().values()) == profile.total_bytes + + +def test_explicit_spatial_residual_profile_has_fixed_path_control(): + spec = TFIMVQESpec(nqubits=12, depth=1) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + profiles = { + adjoint: profile_saved_residuals( + build_spatial_energy( + spec, + SpatialProgramConfig( + "greedy", + adjoint, + block_width=3, + ), + ), + theta, + ) + for adjoint in ("default", "explicit") + } + + assert profiles["default"].total_bytes > 0 + assert profiles["explicit"].total_bytes > 0 diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tensorcircuit_baseline.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tensorcircuit_baseline.py new file mode 100644 index 000000000..f65abdd65 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tensorcircuit_baseline.py @@ -0,0 +1,128 @@ +import json + +import jax +import numpy as np + +from vqetape.spec import TFIMVQESpec +from vqetape.tensorcircuit_baseline import ( + build_protocol, + matched_parameters, + run_baseline, +) +from vqetape.kernels import unrolled_energy +from vqetape.worker import _parameters +from vqetape.tensorcircuit_baseline_cli import _parser, _write_json_atomic + + +def test_matched_parameters_equal_vqetape_worker(): + spec = TFIMVQESpec(nqubits=4, depth=2) + + actual = matched_parameters(spec, seed=33) + + assert np.array_equal(actual, _parameters(spec, 33)) + assert actual.dtype == np.float32 + + +def test_matched_parameters_follow_complex128_real_dtype(): + spec = TFIMVQESpec( + nqubits=3, + depth=1, + dtype="complex128", + ) + + actual = matched_parameters(spec, seed=7) + + assert actual.dtype == np.float64 + + +def test_protocol_records_exact_matched_workload(): + protocol = build_protocol( + TFIMVQESpec(nqubits=10, depth=4), + seed=33, + ) + + assert protocol["hamiltonian"] == ( + "-sum_i Z_i Z_{i+1} - sum_i X_i" + ) + assert protocol["boundary"] == "open" + assert protocol["ansatz"] == "plus_then_rzz_rx" + assert protocol["parameter_shape"] == [4, 2, 10] + assert protocol["active_parameter_count"] == 76 + assert protocol["seed"] == 33 + assert protocol["parameter_distribution"] == ( + "numpy.default_rng.normal(loc=0, scale=0.1)" + ) + assert protocol["comparison_scope"] == ( + "matched_rzz_rx_not_fig2_su4" + ) + + +def test_greedy_baseline_matches_vqetape_reference(tmp_path): + spec = TFIMVQESpec(nqubits=3, depth=1) + theta = matched_parameters(spec, seed=7) + energy, gradient = jax.value_and_grad( + lambda values: unrolled_energy(values, spec) + )(theta) + reference_path = tmp_path / "reference.json" + reference_path.write_text( + json.dumps( + { + "candidate": { + "energy": float(np.asarray(energy)), + "gradient": np.asarray(gradient).tolist(), + } + } + ), + encoding="utf-8", + ) + + with jax.default_matmul_precision("highest"): + report = run_baseline( + spec=spec, + seed=7, + warm_repeats=2, + contractor="greedy", + reference_path=reference_path, + ) + + assert report["correctness"]["tolerance_passed"] + assert report["correctness"]["energy_abs_error"] <= 1e-5 + assert ( + report["correctness"]["gradient_relative_l2_error"] + <= 1e-5 + ) + assert report["timings"]["compile_seconds"] >= 0 + assert report["timings"]["first_execute_seconds"] >= 0 + assert report["timings"]["warm_seconds_median"] > 0 + assert len(report["timings"]["warm_seconds"]) == 2 + assert report["runtime"]["jax_backend"] == "cpu" + assert report["runtime"]["tensor_network_jax_precision"] == ( + "HIGHEST" + ) + assert report["result"]["gradient"][-1][0][-1] == 0.0 + + +def test_baseline_cli_defaults_match_gpu_workload(tmp_path): + output = tmp_path / "baseline.json" + + args = _parser().parse_args(["--output", str(output)]) + + assert args.nqubits == 10 + assert args.depth == 4 + assert args.seed == 33 + assert args.warm_repeats == 5 + assert args.expected_steps == 100 + assert args.contractor == "omeco" + assert args.dtype == "complex64" + assert args.output == output + + +def test_atomic_json_writer_leaves_no_predictable_temporary(tmp_path): + output = tmp_path / "baseline.json" + + _write_json_atomic(output, {"finite": 1.0}) + + assert json.loads(output.read_text(encoding="utf-8")) == { + "finite": 1.0 + } + assert list(tmp_path.glob(".baseline.json.*.tmp")) == [] diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tensorcircuit_fig2.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tensorcircuit_fig2.py new file mode 100644 index 000000000..491d27b6d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tensorcircuit_fig2.py @@ -0,0 +1,138 @@ +import json + +import jax +import pytest + +from vqetape.tensorcircuit_fig2 import ( + Fig2Spec, + build_fig2_protocol, + fig2_cotengra_options, + protocol_sha256, + run_fig2_path, + search_fig2_path, + validate_path_payload, +) +from vqetape.tensorcircuit_fig2_cli import _parser, main + + +def test_fig2_spec_matches_paper_parameter_count(): + spec = Fig2Spec() + + assert spec.parameter_shape == (16, 31, 15) + assert spec.parameter_count == 7440 + + +def test_fig2_protocol_records_paper_score_and_boundary(): + protocol = build_fig2_protocol(Fig2Spec()) + + assert protocol["paper"]["arxiv"] == "2602.14167" + assert protocol["paper"][ + "reported_single_gpu_n32_l16_step_seconds" + ] == 17.86 + assert protocol["ansatz"]["layout"].startswith("ladder:") + assert protocol["ansatz"]["parameter_count"] == 7440 + assert protocol["contractor"]["max_repeats"] == 640 + assert protocol["contractor"]["minimize"] == "combo-640" + assert protocol["contractor"]["score"] == "FLOPS + 640 * WRITE" + assert protocol["contractor"]["slicing_target_elements"] == 2**29 + assert "40-qubit" in protocol["contractor"]["slicing_boundary"] + assert "does not state" in protocol["numerics"]["seed_boundary"] + + +def test_cotengra_options_are_exact_and_validated(): + options = fig2_cotengra_options( + max_repeats=7, + target_size=2**12, + parallel=2, + ) + + assert options == { + "slicing_reconf_opts": {"target_size": 2**12}, + "max_repeats": 7, + "minimize": "combo-640", + "parallel": 2, + "progbar": False, + } + with pytest.raises(ValueError, match="max_repeats"): + fig2_cotengra_options(max_repeats=0) + + +@pytest.mark.parametrize( + ("kwargs", "message"), + [ + ({"nqubits": 1}, "nqubits"), + ({"depth": 0}, "depth"), + ({"dtype": "float32"}, "dtype"), + ({"parameter_scale": 0.0}, "parameter_scale"), + ], +) +def test_fig2_spec_rejects_invalid_inputs(kwargs, message): + with pytest.raises(ValueError, match=message): + Fig2Spec(**kwargs) + + +def test_fig2_cli_defaults_are_formal_paper_workload(tmp_path): + output = tmp_path / "manifest.json" + + args = _parser().parse_args(["manifest", "--output", str(output)]) + + assert args.nqubits == 32 + assert args.depth == 16 + assert args.max_repeats == 640 + assert args.target_size_log2 == 29 + assert args.parallel == 1 + assert args.seed == 42 + + +def test_manifest_command_writes_self_verifying_protocol(tmp_path): + output = tmp_path / "manifest.json" + + assert main(["manifest", "--output", str(output)]) == 0 + + payload = json.loads(output.read_text(encoding="utf-8")) + assert payload["artifact_type"] == "tensorcircuit_ng_fig2_manifest" + assert payload["protocol"]["ansatz"]["parameter_count"] == 7440 + assert payload["protocol_sha256"] == protocol_sha256( + payload["protocol"] + ) + + +def test_path_validator_rejects_checksum_mismatch(): + protocol = build_fig2_protocol(Fig2Spec(nqubits=3, depth=1)) + payload = { + "schema_version": 1, + "artifact_type": "tensorcircuit_ng_fig2_path", + "protocol": protocol, + "protocol_sha256": "0" * 64, + "tree_data": {}, + } + + with pytest.raises(ValueError, match="checksum"): + validate_path_payload(payload) + + +def test_small_fig2_json_path_matches_direct_contraction(): + spec = Fig2Spec(nqubits=3, depth=1, seed=7) + + with jax.default_matmul_precision("highest"): + searched = search_fig2_path( + spec, + max_repeats=1, + target_size=2**8, + parallel=1, + ) + # Exercise the real artifact boundary rather than passing the Python + # object directly between the two stages. + restored = json.loads(json.dumps(searched, allow_nan=False)) + report = run_fig2_path( + restored, + warm_repeats=1, + verify_direct=True, + ) + + assert report["result"]["gradient_shape"] == [1, 2, 15] + assert report["correctness"]["tolerance_passed"] + assert report["correctness"]["energy_abs_error"] <= 1e-5 + assert ( + report["correctness"]["gradient_relative_l2_error"] <= 1e-5 + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tfim_mpo.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tfim_mpo.py new file mode 100644 index 000000000..5a749e3d3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tfim_mpo.py @@ -0,0 +1,89 @@ +import jax +import numpy as np +import opt_einsum as oe +import pytest + +from vqetape.spec import TFIMVQESpec +from vqetape.tfim_mpo import dense_tfim_hamiltonian, tfim_mpo_tensors + + +def _contract_mpo_to_dense(tensors): + nqubits = len(tensors) + bonds = [oe.get_symbol(index) for index in range(nqubits - 1)] + bras = [ + oe.get_symbol(nqubits - 1 + index) + for index in range(nqubits) + ] + kets = [ + oe.get_symbol(2 * nqubits - 1 + index) + for index in range(nqubits) + ] + inputs = [bonds[0] + bras[0] + kets[0]] + inputs.extend( + bonds[wire - 1] + + bonds[wire] + + bras[wire] + + kets[wire] + for wire in range(1, nqubits - 1) + ) + inputs.append(bonds[-1] + bras[-1] + kets[-1]) + equation = ",".join(inputs) + "->" + "".join(bras + kets) + contracted = oe.contract(equation, *tensors, backend="jax") + dimension = 1 << nqubits + return contracted.reshape(dimension, dimension) + + +@pytest.mark.parametrize("nqubits", [2, 3, 4]) +@pytest.mark.parametrize( + ("coupling", "field"), + [ + (1.0, 1.0), + (0.7, 1.3), + (0.0, 0.8), + (1.1, 0.0), + ], +) +def test_tfim_mpo_reconstructs_dense_hamiltonian( + nqubits, + coupling, + field, +): + spec = TFIMVQESpec( + nqubits=nqubits, + depth=1, + coupling=coupling, + field=field, + ) + tensors = tfim_mpo_tensors(spec) + actual = _contract_mpo_to_dense(tensors) + expected = dense_tfim_hamiltonian(spec) + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(expected), + rtol=1e-6, + atol=1e-6, + ) + assert len(tensors) == nqubits + assert tensors[0].shape == (3, 2, 2) + assert tensors[-1].shape == (3, 2, 2) + assert all( + tensor.shape == (3, 3, 2, 2) + for tensor in tensors[1:-1] + ) + + +def test_tfim_mpo_supports_complex128(): + with jax.enable_x64(): + spec = TFIMVQESpec( + nqubits=3, + depth=1, + coupling=0.7, + field=1.3, + dtype="complex128", + ) + np.testing.assert_allclose( + np.asarray(_contract_mpo_to_dense(tfim_mpo_tensors(spec))), + np.asarray(dense_tfim_hamiltonian(spec)), + rtol=1e-12, + atol=1e-12, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_candidates.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_candidates.py new file mode 100644 index 000000000..8ac3e2958 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_candidates.py @@ -0,0 +1,137 @@ +import pytest + +from vqetape.benchmark import benchmark_tn_candidate +from vqetape.spec import CompileRequest, TFIMVQESpec, TensorProgramConfig +from vqetape.tn_candidates import enumerate_tn_candidates + + +def test_tensor_candidate_enumeration_is_unique_and_covers_strategies(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=3, depth=1), + memory_budget_bytes=1024**3, + expected_vqe_steps=10, + ) + candidates = enumerate_tn_candidates(request) + assert len(candidates) == len(set(candidates)) + assert {item.path_strategy for item in candidates} == { + "greedy", + "random-greedy", + "auto-hq", + } + assert {item.remat_policy for item in candidates} == { + "none", + "named", + } + assert {item.gate_representation for item in candidates} == { + "dense", + } + assert {item.hamiltonian_representation for item in candidates} == { + "pauli_sum", + "mpo", + } + assert len(candidates) == 24 + for representation in ("pauli_sum", "mpo"): + for strategy in {item.path_strategy for item in candidates}: + matching = [ + item + for item in candidates + if item.hamiltonian_representation == representation + and item.path_strategy == strategy + ] + paths = {item.path for item in matching} + assert len(paths) == 1 + assert next(iter(paths)) + named = [ + item for item in matching if item.remat_policy == "named" + ] + assert len(named) == 3 + assert named[0].save_names is not None + + +def test_operator_schmidt_search_remains_available(): + request = CompileRequest( + spec=TFIMVQESpec(nqubits=3, depth=1), + memory_budget_bytes=1024**3, + expected_vqe_steps=10, + ) + candidates = enumerate_tn_candidates( + request, + strategies=("greedy",), + gate_representations=("dense", "operator_schmidt"), + hamiltonian_representations=("pauli_sum",), + ) + assert len(candidates) == 8 + assert {item.gate_representation for item in candidates} == { + "dense", + "operator_schmidt", + } + assert {item.hamiltonian_representation for item in candidates} == { + "pauli_sum", + } + + +@pytest.mark.parametrize( + "gate_representation", + ["dense", "operator_schmidt"], +) +def test_direct_tn_candidate_runs_in_fresh_process(gate_representation): + spec = TFIMVQESpec(nqubits=3, depth=1) + result = benchmark_tn_candidate( + spec=spec, + config=TensorProgramConfig( + "greedy", + "none", + gate_representation=gate_representation, + ), + seed=3, + warm_repeats=1, + timeout_seconds=180, + ) + assert result.valid, result.failure + assert result.worker_pid != result.parent_pid + assert result.config.gate_representation == gate_representation + assert result.static_estimate["gate_representation"] == gate_representation + assert result.static_estimate["path_flops"] > 0 + assert result.static_estimate["largest_intermediate_elements"] > 0 + assert result.static_estimate["tensor_count"] > 0 + assert result.static_estimate["input_tensor_elements"] > 0 + assert result.static_estimate["residual_profile"]["total_bytes"] > 0 + assert result.jax_memory_analysis + + +@pytest.mark.parametrize( + ("hamiltonian_representation", "expected_contractions"), + [ + ("pauli_sum", 5), + ("mpo", 1), + ], +) +def test_worker_reports_energy_level_costs( + hamiltonian_representation, + expected_contractions, +): + spec = TFIMVQESpec(nqubits=3, depth=1) + result = benchmark_tn_candidate( + spec=spec, + config=TensorProgramConfig( + "greedy", + "none", + hamiltonian_representation=hamiltonian_representation, + ), + seed=1, + warm_repeats=1, + timeout_seconds=180, + ) + assert result.valid, result.failure + estimate = result.static_estimate + assert ( + estimate["hamiltonian_representation"] + == hamiltonian_representation + ) + assert estimate["contractions_per_energy"] == expected_contractions + assert estimate["estimated_energy_flops"] == ( + estimate["path_flops"] * expected_contractions + ) + assert estimate["estimated_energy_tensor_bindings"] == ( + estimate["tensor_count"] * expected_contractions + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_program.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_program.py new file mode 100644 index 000000000..241844ac3 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_program.py @@ -0,0 +1,209 @@ +import jax +import jax.numpy as jnp +import numpy as np +import opt_einsum as oe +import pytest +from jax.ad_checkpoint import checkpoint_policies + +from vqetape.spec import TFIMVQESpec +from vqetape.tape import profile_saved_residuals +from vqetape.tn_program import ( + execute_contraction, + execute_tree_contraction, + plan_contraction, + subtree_nodes_at_depth, +) +from vqetape.tn_template import ( + ProductPauliTerm, + bind_term_tensors, + build_expectation_template, + build_mpo_expectation_template, +) + + +@pytest.mark.parametrize("strategy", ["greedy", "random-greedy"]) +def test_explicit_program_matches_opt_einsum_expression(strategy): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template(spec) + theta = jnp.linspace(-0.2, 0.3, np.prod(spec.parameter_shape)).reshape( + spec.parameter_shape + ) + tensors = bind_term_tensors( + template, + theta, + ProductPauliTerm(-1.0, ("Z", "Z", "I")), + ) + program = plan_contraction(template, strategy) + actual = execute_contraction(program, tensors) + expected = oe.contract( + template.equation, + *tensors, + optimize=list(program.path), + backend="jax", + ) + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(expected), + atol=1e-6, + ) + assert program.flops > 0 + assert program.largest_intermediate_elements > 0 + assert len(program.step_output_bytes) == len(program.steps) + + +def test_rematerialized_execution_preserves_value(): + spec = TFIMVQESpec(nqubits=3, depth=1) + template = build_expectation_template(spec) + theta = jnp.zeros(spec.parameter_shape) + tensors = bind_term_tensors( + template, + theta, + ProductPauliTerm(-1.0, ("X", "I", "I")), + ) + program = plan_contraction(template, "greedy") + reference = execute_contraction(program, tensors) + rematerialized = execute_contraction( + program, + tensors, + remat_steps=frozenset(range(len(program.steps))), + ) + np.testing.assert_allclose( + np.asarray(rematerialized), + np.asarray(reference), + atol=1e-6, + ) + + +@pytest.mark.parametrize("depth", [0, 1, 2]) +def test_subtree_checkpoint_execution_preserves_value(depth): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template(spec) + theta = jnp.linspace(-0.1, 0.2, np.prod(spec.parameter_shape)).reshape( + spec.parameter_shape + ) + tensors = bind_term_tensors( + template, + theta, + ProductPauliTerm(-1.0, ("Z", "Z", "I")), + ) + program = plan_contraction(template, "greedy") + nodes = subtree_nodes_at_depth(program, depth) + assert nodes + actual = execute_tree_contraction( + program, + tensors, + checkpoint_node_ids=frozenset(node.node_id for node in nodes), + ) + reference = execute_contraction(program, tensors) + np.testing.assert_allclose( + np.asarray(actual), + np.asarray(reference), + atol=1e-6, + ) + + +def test_named_contraction_outputs_appear_in_residual_profile(): + spec = TFIMVQESpec(nqubits=2, depth=1) + template = build_expectation_template(spec) + program = plan_contraction(template, "greedy") + term = ProductPauliTerm(-1.0, ("Z", "Z")) + theta = jnp.zeros(spec.parameter_shape, dtype=jnp.float32) + + def objective(value): + tensors = bind_term_tensors( + template, + value, + term, + name_residuals=True, + ) + return jnp.real( + execute_contraction( + program, + tensors, + name_residuals=True, + ) + ) + + saved_names = tuple( + f"contract:{step_index}:elements{step.output_elements}:{component}" + for step_index, step in enumerate(program.steps) + for component in ("real", "imag") + ) + profiled = jax.checkpoint( + objective, + policy=checkpoint_policies.save_only_these_names(*saved_names), + ) + profile = profile_saved_residuals(profiled, theta) + + assert any( + name.startswith("contract:") for name in profile.bytes_by_name() + ) + + +def test_contraction_program_reports_representation_size(): + spec = TFIMVQESpec(nqubits=3, depth=2) + dense = plan_contraction( + build_expectation_template( + spec, + gate_representation="dense", + ), + "greedy", + ) + schmidt = plan_contraction( + build_expectation_template( + spec, + gate_representation="operator_schmidt", + ), + "greedy", + ) + + assert dense.tensor_count == len(dense.template.slots) + assert schmidt.tensor_count == len(schmidt.template.slots) + assert dense.input_tensor_elements == sum( + np.prod(shape) for shape in dense.template.shapes + ) + assert schmidt.input_tensor_elements == sum( + np.prod(shape) for shape in schmidt.template.shapes + ) + assert schmidt.tensor_count > dense.tensor_count + + +def test_dense_path_cannot_be_reused_for_schmidt_topology(): + spec = TFIMVQESpec(nqubits=3, depth=1) + dense = plan_contraction( + build_expectation_template( + spec, + gate_representation="dense", + ), + "greedy", + ) + with pytest.raises(ValueError, match="incompatible"): + plan_contraction( + build_expectation_template( + spec, + gate_representation="operator_schmidt", + ), + "greedy", + explicit_path=dense.path, + ) + + +def test_explicit_path_is_revalidated_against_mpo_topology(): + spec = TFIMVQESpec(nqubits=3, depth=1) + pauli = plan_contraction( + build_expectation_template(spec), + "greedy", + ) + mpo = plan_contraction( + build_mpo_expectation_template(spec), + "greedy", + explicit_path=pauli.path, + ) + + # A positional contraction schedule can remain valid when two topologies + # happen to have the same operand count. It is not a cached Pauli + # program: opt_einsum has rebuilt all equations, sizes, and costs for MPO. + assert mpo.path == pauli.path + assert mpo.template.hamiltonian_representation == "mpo" + assert mpo.template.equation != pauli.template.equation + assert mpo.flops != pauli.flops diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_template.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_template.py new file mode 100644 index 000000000..05b29899a --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_template.py @@ -0,0 +1,208 @@ +from collections import Counter + +import jax.numpy as jnp +import numpy as np +import opt_einsum as oe +import pytest + +from vqetape.spec import TFIMVQESpec +from vqetape.tn_template import ( + ProductPauliTerm, + bind_mpo_tensors, + bind_term_tensors, + build_expectation_template, + build_mpo_expectation_template, +) +from vqetape.tn_vqe import tfim_product_terms + + +def test_expectation_template_is_closed_scalar_network(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template(spec) + counts = Counter( + index for slot in template.slots for index in slot.indices + ) + assert set(counts.values()) == {2} + assert template.equation.endswith("->") + assert len(template.slots) == ( + 3 * spec.nqubits + + 2 * spec.depth * (2 * spec.nqubits - 1) + ) + + +def test_bound_term_matches_declared_shapes(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template(spec) + theta = jnp.zeros(spec.parameter_shape) + tensors = bind_term_tensors( + template, + theta, + ProductPauliTerm( + coefficient=-1.0, + operators=("Z", "Z", "I"), + ), + ) + assert tuple(tuple(tensor.shape) for tensor in tensors) == template.shapes + + +def test_template_scales_with_declared_gate_count(): + spec = TFIMVQESpec(nqubits=5, depth=3) + template = build_expectation_template(spec) + assert len(template.slots) == 15 + 2 * 3 * 9 + + +def test_operator_schmidt_template_has_rank_three_factor_slots(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_expectation_template( + spec, + gate_representation="operator_schmidt", + ) + left = [ + slot for slot in template.slots if slot.kind == "ket_rzz_left" + ] + right = [ + slot for slot in template.slots if slot.kind == "ket_rzz_right" + ] + expected_gate_count = spec.depth * (spec.nqubits - 1) + assert len(left) == expected_gate_count + assert len(right) == expected_gate_count + assert all(slot.shape == (2, 2, 2) for slot in left + right) + counts = Counter( + index for slot in template.slots for index in slot.indices + ) + assert set(counts.values()) == {2} + assert len(template.slots) == ( + 3 * spec.nqubits + + 2 * spec.depth * (3 * spec.nqubits - 2) + ) + + +def test_dense_template_remains_default(): + spec = TFIMVQESpec(nqubits=3, depth=1) + implicit = build_expectation_template(spec) + explicit = build_expectation_template( + spec, + gate_representation="dense", + ) + assert implicit == explicit + assert implicit.hamiltonian_representation == "pauli_sum" + + +@pytest.mark.parametrize( + "operators", + [ + ("Z", "Z", "I"), + ("I", "X", "I"), + ], +) +def test_dense_and_schmidt_term_contractions_match(operators): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + ).reshape(spec.parameter_shape) + term = ProductPauliTerm(-1.0, operators) + values = [] + for representation in ("dense", "operator_schmidt"): + template = build_expectation_template( + spec, + gate_representation=representation, + ) + tensors = bind_term_tensors(template, theta, term) + assert tuple(tensor.shape for tensor in tensors) == template.shapes + values.append( + oe.contract( + template.equation, + *tensors, + optimize="greedy", + backend="jax", + ) + ) + np.testing.assert_allclose( + np.asarray(values[0]), + np.asarray(values[1]), + rtol=1e-5, + atol=1e-5, + ) + + +def test_template_rejects_unknown_gate_representation(): + with pytest.raises(ValueError, match="gate_representation"): + build_expectation_template( + TFIMVQESpec(nqubits=3, depth=1), + gate_representation="sparse", + ) + + +def test_mpo_expectation_template_is_closed(): + spec = TFIMVQESpec(nqubits=4, depth=2) + template = build_mpo_expectation_template(spec) + assert template.hamiltonian_representation == "mpo" + mpo_slots = [ + slot + for slot in template.slots + if slot.kind.startswith("hamiltonian_mpo_") + ] + assert [slot.kind for slot in mpo_slots] == [ + "hamiltonian_mpo_first", + "hamiltonian_mpo_bulk", + "hamiltonian_mpo_bulk", + "hamiltonian_mpo_last", + ] + assert [slot.shape for slot in mpo_slots] == [ + (3, 2, 2), + (3, 3, 2, 2), + (3, 3, 2, 2), + (3, 2, 2), + ] + counts = Counter( + index for slot in template.slots for index in slot.indices + ) + assert set(counts.values()) == {2} + + +def test_bound_mpo_tensors_match_template_shapes(): + spec = TFIMVQESpec(nqubits=3, depth=2) + template = build_mpo_expectation_template(spec) + theta = jnp.zeros(spec.parameter_shape) + tensors = bind_mpo_tensors(template, theta) + assert tuple(tensor.shape for tensor in tensors) == template.shapes + + +def test_mpo_and_pauli_sum_scalar_contractions_match(): + spec = TFIMVQESpec( + nqubits=3, + depth=2, + coupling=0.7, + field=1.3, + ) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + ).reshape(spec.parameter_shape) + mpo_template = build_mpo_expectation_template(spec) + mpo_value = oe.contract( + mpo_template.equation, + *bind_mpo_tensors(mpo_template, theta), + optimize="greedy", + backend="jax", + ) + term_template = build_expectation_template(spec) + term_value = sum( + term.coefficient + * oe.contract( + term_template.equation, + *bind_term_tensors(term_template, theta, term), + optimize="greedy", + backend="jax", + ) + for term in tfim_product_terms(spec) + ) + np.testing.assert_allclose( + np.asarray(mpo_value), + np.asarray(term_value), + rtol=1e-5, + atol=1e-5, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_vqe.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_vqe.py new file mode 100644 index 000000000..fc469196d --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_tn_vqe.py @@ -0,0 +1,314 @@ +import jax.numpy as jnp +import numpy as np +import pytest + +from vqetape.programs import build_value_and_grad +from vqetape.spec import ProgramConfig, TFIMVQESpec +from vqetape.tn_vqe import build_tn_value_and_grad + + +@pytest.mark.parametrize("strategy", ["greedy", "random-greedy"]) +@pytest.mark.parametrize( + "policy", + ["none", "all", "output-ge-threshold", "term", "objective"], +) +def test_direct_tn_matches_statevector(strategy, policy): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig(control_flow="unrolled", adjoint="default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy=strategy, + remat_policy=policy, + threshold_bytes=64 if policy == "output-ge-threshold" else None, + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose( + np.asarray(energy), + np.asarray(ref_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(ref_gradient), + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(spec.depth), + ) + + +def test_direct_tn_zero_parameter_energy(): + spec = TFIMVQESpec(nqubits=4, depth=1) + executable = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy="none", + ) + energy, _ = executable(jnp.zeros(spec.parameter_shape)) + np.testing.assert_allclose(np.asarray(energy), -4.0, atol=1e-5) + + +@pytest.mark.parametrize("subtree_depth", [0, 1, 2]) +def test_subtree_remat_gradient_matches_statevector(subtree_depth): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig(control_flow="unrolled", adjoint="default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy="subtree", + subtree_depth=subtree_depth, + ) + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + np.testing.assert_allclose( + np.asarray(energy), + np.asarray(ref_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(ref_gradient), + rtol=1e-4, + atol=1e-5, + ) + + +@pytest.mark.parametrize( + "save_names", + [ + (), + ( + "contract:6:elements16:real", + "contract:6:elements16:imag", + ), + ], +) +def test_named_tape_gradient_matches_statevector(save_names): + spec = TFIMVQESpec(nqubits=3, depth=2) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig(control_flow="unrolled", adjoint="default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy="named", + save_names=save_names, + ) + + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + + np.testing.assert_allclose(np.asarray(energy), np.asarray(ref_energy), atol=1e-5) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(ref_gradient), + rtol=1e-4, + atol=1e-5, + ) + + +@pytest.mark.parametrize( + "spec", + [ + TFIMVQESpec( + nqubits=2, + depth=1, + coupling=0.7, + field=0.3, + initial_state="zero", + ), + TFIMVQESpec( + nqubits=3, + depth=1, + coupling=1.2, + field=0.4, + initial_state="plus", + ), + TFIMVQESpec( + nqubits=3, + depth=2, + coupling=0.8, + field=1.1, + initial_state="plus", + ), + ], +) +@pytest.mark.parametrize( + "gate_representation", + ["dense", "operator_schmidt"], +) +@pytest.mark.parametrize( + "hamiltonian_representation", + ["pauli_sum", "mpo"], +) +def test_direct_tn_matches_statevector_across_workload_matrix( + spec, + gate_representation, + hamiltonian_representation, +): + theta = jnp.linspace( + -0.15, + 0.25, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig(control_flow="unrolled", adjoint="default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy="none", + gate_representation=gate_representation, + hamiltonian_representation=hamiltonian_representation, + ) + + ref_energy, ref_gradient = reference(theta) + energy, gradient = candidate(theta) + + np.testing.assert_allclose(np.asarray(energy), np.asarray(ref_energy), atol=1e-5) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(ref_gradient), + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(spec.depth), + ) + + +@pytest.mark.parametrize( + "gate_representation", + ["dense", "operator_schmidt"], +) +@pytest.mark.parametrize("policy", ["none", "named"]) +def test_representations_match_statevector_full_gradient( + gate_representation, + policy, +): + spec = TFIMVQESpec( + nqubits=3, + depth=2, + coupling=0.8, + field=1.1, + ) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig("unrolled", "default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy=policy, + save_names=() if policy == "named" else None, + gate_representation=gate_representation, + ) + + expected_energy, expected_gradient = reference(theta) + energy, gradient = candidate(theta) + + np.testing.assert_allclose( + np.asarray(energy), + np.asarray(expected_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(expected_gradient), + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(spec.depth), + ) + + +@pytest.mark.parametrize( + "hamiltonian_representation", + ["pauli_sum", "mpo"], +) +@pytest.mark.parametrize("policy", ["none", "named"]) +def test_hamiltonian_representations_match_statevector_full_gradient( + hamiltonian_representation, + policy, +): + spec = TFIMVQESpec( + nqubits=3, + depth=2, + coupling=0.7, + field=1.3, + ) + theta = jnp.linspace( + -0.2, + 0.3, + np.prod(spec.parameter_shape), + dtype=jnp.float32, + ).reshape(spec.parameter_shape) + reference = build_value_and_grad( + spec, + ProgramConfig("unrolled", "default"), + ) + candidate = build_tn_value_and_grad( + spec, + path_strategy="greedy", + remat_policy=policy, + save_names=() if policy == "named" else None, + hamiltonian_representation=hamiltonian_representation, + ) + + expected_energy, expected_gradient = reference(theta) + energy, gradient = candidate(theta) + + np.testing.assert_allclose( + np.asarray(energy), + np.asarray(expected_energy), + atol=1e-5, + ) + np.testing.assert_allclose( + np.asarray(gradient), + np.asarray(expected_gradient), + rtol=1e-4, + atol=1e-5, + ) + np.testing.assert_array_equal( + np.asarray(gradient[:, 0, -1]), + np.zeros(spec.depth), + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training.py new file mode 100644 index 000000000..aa3e63441 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training.py @@ -0,0 +1,136 @@ +import numpy as np +import pytest + +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training import train_vqe +from vqetape.training_spec import VQETrainingRequest + + +def _request( + *, + optimizer="adam", + program=None, + target=0.3, + max_steps=20, + initialization="zeros", +): + spec = TFIMVQESpec(nqubits=2, depth=1) + return VQETrainingRequest( + spec=spec, + program=( + program + if program is not None + else ProgramConfig("scan", "default") + ), + optimizer=optimizer, + initialization=initialization, + target_energy_error=target, + max_steps=max_steps, + learning_rate=0.08, + seed=3, + ) + + +def test_training_stops_on_initial_target_and_accounts_time(): + result = train_vqe(_request(target=0.3)) + + assert result.converged + assert result.evaluations == 1 + assert result.optimizer_steps == 0 + assert len(result.trace) == 1 + assert result.compile_seconds >= 0 + assert result.first_execute_seconds > 0 + assert result.optimization_seconds >= ( + result.first_execute_seconds + ) + assert result.time_to_target_seconds is not None + assert result.time_to_target_seconds >= ( + result.compile_seconds + ) + assert result.total_seconds == pytest.approx( + result.compile_seconds + + result.optimization_seconds, + ) + + +def test_nonconverged_adam_uses_max_steps_plus_initial_call(): + request = _request( + target=1e-12, + max_steps=2, + initialization="random", + ) + result = train_vqe(request) + + assert not result.converged + assert result.evaluations == 3 + assert result.optimizer_steps == 2 + assert len(result.trace) == 3 + assert result.time_to_target_seconds is None + assert np.allclose( + np.asarray(result.final_parameters)[:, 0, -1], + 0, + ) + + +@pytest.mark.parametrize( + "program", + [ + SpatialProgramConfig( + "greedy", + "default", + symmetry="none", + ), + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + ], +) +def test_training_supports_spatial_programs(program): + result = train_vqe( + _request( + program=program, + target=0.3, + ) + ) + + assert result.converged + assert result.request.program == program + assert np.isfinite(result.final_energy) + + +def test_lbfgs_training_converges_to_tighter_target(): + pytest.importorskip("scipy") + result = train_vqe( + _request( + optimizer="lbfgs", + target=0.01, + max_steps=30, + initialization="random", + ) + ) + + assert result.converged, result.failure + assert result.trace[-1].energy_error <= 0.01 + + +def test_natural_gradient_records_metric_condition(): + result = train_vqe( + _request( + optimizer="natural-gradient", + target=0.2, + max_steps=8, + initialization="random", + ) + ) + + assert any( + step.metric_condition is not None + for step in result.trace + ) + assert result.evaluations == len(result.trace) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_benchmark.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_benchmark.py new file mode 100644 index 000000000..45d10468c --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_benchmark.py @@ -0,0 +1,45 @@ +import numpy as np +import pytest + +from vqetape.spec import ( + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training_benchmark import ( + run_training_fresh_process, +) +from vqetape.training_spec import VQETrainingRequest + + +def _request() -> VQETrainingRequest: + return VQETrainingRequest( + spec=TFIMVQESpec(nqubits=2, depth=1), + program=SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + optimizer="adam", + initialization="zeros", + target_energy_error=0.3, + max_steps=2, + ) + + +def test_training_runs_in_fresh_process(): + result = run_training_fresh_process( + _request(), + timeout_seconds=120, + ) + + assert result.converged + assert result.evaluations == 1 + assert np.isfinite(result.compile_seconds) + + +def test_training_fresh_process_rejects_bad_timeout(): + with pytest.raises(ValueError, match="positive"): + run_training_fresh_process( + _request(), + timeout_seconds=0, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_cli.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_cli.py new file mode 100644 index 000000000..41f1e7aeb --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_cli.py @@ -0,0 +1,35 @@ +import json + +from vqetape.training_cli import main +from vqetape.training_spec import VQETrainingResult + + +def test_training_cli_writes_round_trip_result(tmp_path): + output = tmp_path / "training.json" + + exit_code = main( + [ + "--nqubits", + "2", + "--depth", + "1", + "--program", + "z2-native", + "--optimizer", + "adam", + "--initialization", + "zeros", + "--target-error", + "0.3", + "--max-steps", + "2", + "--output", + str(output), + ] + ) + + assert exit_code == 0 + payload = json.loads(output.read_text()) + result = VQETrainingResult.from_dict(payload) + assert result.converged + assert result.request.program.symmetry == "z2-native" diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_report.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_report.py new file mode 100644 index 000000000..3ed81ad97 --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_report.py @@ -0,0 +1,77 @@ +from vqetape.spec import ( + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training_report import benchmark_requests +from vqetape.training_spec import ( + VQETrainingRequest, + VQETrainingResult, +) + + +def _source() -> VQETrainingResult: + request = VQETrainingRequest( + spec=TFIMVQESpec(nqubits=3, depth=1), + program=SpatialProgramConfig( + "greedy", + "default", + ), + optimizer="lbfgs", + initialization="random", + target_energy_error=0.1, + max_steps=2, + ) + parameters = ( + ( + (0.1, 0.2, 0.0), + (0.3, 0.4, 0.5), + ), + ) + return VQETrainingResult( + request=request, + converged=True, + evaluations=1, + optimizer_steps=0, + compile_seconds=0.1, + first_execute_seconds=0.01, + optimization_seconds=0.01, + time_to_target_seconds=0.11, + total_seconds=0.11, + peak_rss_bytes=1, + ground_energy=-3.0, + target_energy=-2.9, + final_energy=-2.95, + final_parameters=parameters, + trace=(), + ) + + +def test_benchmark_matrix_covers_optimizers_and_programs(): + requests = dict(benchmark_requests(_source())) + + assert len(requests) == 11 + assert { + request.optimizer for request in requests.values() + } == {"adam", "lbfgs", "natural-gradient"} + assert { + request.initialization + for request in requests.values() + } == {"zeros", "random", "recycled"} + assert "program-statevector" in requests + assert "program-z2-native" in requests + + +def test_recycled_rows_use_serialized_source(): + source = _source() + requests = dict(benchmark_requests(source)) + recycled = requests["optimizer-lbfgs-recycled"] + + assert recycled.recycled_source_spec == source.request.spec + assert ( + recycled.recycled_parameters + == source.final_parameters + ) + assert recycled.spec == TFIMVQESpec( + nqubits=4, + depth=2, + ) diff --git a/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_spec.py b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_spec.py new file mode 100644 index 000000000..6fd5070fd --- /dev/null +++ b/tracks/qcs/solutions/WangTheoPhys/issue33/tests/test_training_spec.py @@ -0,0 +1,148 @@ +import math + +import pytest + +from vqetape.spec import ( + ProgramConfig, + SpatialProgramConfig, + TFIMVQESpec, +) +from vqetape.training_spec import ( + VQEStep, + VQETrainingRequest, + VQETrainingResult, +) + + +@pytest.mark.parametrize( + "program", + [ + ProgramConfig("scan", "remat"), + SpatialProgramConfig( + "greedy", + "default", + symmetry="z2-native", + ), + ], +) +def test_training_request_round_trip(program): + request = VQETrainingRequest( + spec=TFIMVQESpec(nqubits=4, depth=2), + program=program, + optimizer="adam", + initialization="random", + target_energy_error=0.1, + max_steps=20, + seed=7, + learning_rate=0.03, + ) + + assert VQETrainingRequest.from_dict( + request.to_dict() + ) == request + + +def test_recycled_request_round_trip(): + source = TFIMVQESpec(nqubits=3, depth=1) + parameters = ( + ( + (0.1, 0.2, 0.0), + (0.3, 0.4, 0.5), + ), + ) + request = VQETrainingRequest( + spec=TFIMVQESpec(nqubits=5, depth=2), + program=ProgramConfig("scan", "default"), + optimizer="lbfgs", + initialization="recycled", + target_energy_error=0.2, + max_steps=30, + recycled_source_spec=source, + recycled_parameters=parameters, + ) + + assert VQETrainingRequest.from_dict( + request.to_dict() + ) == request + + +@pytest.mark.parametrize( + "kwargs", + [ + {"optimizer": "unknown"}, + {"initialization": "unknown"}, + {"target_energy_error": 0}, + {"max_steps": 0}, + {"learning_rate": 0}, + {"damping": 0}, + {"ground_energy": math.inf}, + { + "initialization": "recycled", + "recycled_source_spec": None, + "recycled_parameters": None, + }, + ], +) +def test_training_request_rejects_invalid_values(kwargs): + values = { + "spec": TFIMVQESpec(nqubits=4, depth=1), + "program": ProgramConfig("scan", "default"), + "optimizer": "adam", + "initialization": "zeros", + "target_energy_error": 0.1, + "max_steps": 10, + } + values.update(kwargs) + with pytest.raises(ValueError): + VQETrainingRequest(**values) + + +def test_training_result_round_trip(): + request = VQETrainingRequest( + spec=TFIMVQESpec(nqubits=3, depth=1), + program=ProgramConfig("scan", "default"), + optimizer="adam", + initialization="zeros", + target_energy_error=0.2, + max_steps=10, + ) + result = VQETrainingResult( + request=request, + converged=True, + evaluations=2, + optimizer_steps=1, + compile_seconds=0.2, + first_execute_seconds=0.01, + optimization_seconds=0.03, + time_to_target_seconds=0.23, + total_seconds=0.24, + peak_rss_bytes=1024, + ground_energy=-3.0, + target_energy=-2.8, + final_energy=-2.9, + final_parameters=( + ((0.0, 0.0, 0.0), (0.1, 0.2, 0.3)), + ), + trace=( + VQEStep( + evaluation=1, + optimizer_step=0, + energy=-2.7, + energy_error=0.3, + gradient_norm=0.4, + elapsed_seconds=0.01, + ), + VQEStep( + evaluation=2, + optimizer_step=1, + energy=-2.9, + energy_error=0.1, + gradient_norm=0.2, + elapsed_seconds=0.03, + ), + ), + ) + + assert VQETrainingResult.from_dict( + result.to_dict() + ) == result