Paper VIIIReading edition

Recorded CPU and GPU corpus

Reading tools
Reading libraryFind statementsInspect Lean
Switch work

Saved reading

Read side by side

Start reading

Resources & source

Original TeX with line links · Download TeX

The wording and mathematics follow the retained manuscript. This reading format does not add a proof review or extend Lean coverage.

Skip contents and start reading

12 Recorded CPU and GPU corpus

The empirical corpus contains 154 measured rows from sixteen suites. It has 74 CPU rows and 80 GPU rows. The GPU was an NVIDIA GeForce RTX 3070 Ti Laptop GPU with compute capability 8.6 and 8 GB nominal memory. The recorded software used PyTorch 2.11.0 with a CUDA 12.8 build. These facts identify the environment. They do not predict another machine.

Coverage of the sanitized measured corpus.
SuiteRowsSuiteRows
Dense multiplication28BDLR application15
Block diagonal12BDLR product12
Circulant12Toeplitz12
Kronecker12Block banded8
Sparse plus low rank8HODLR8
Strassen6Transfer pipeline5
Walsh Hadamard4Hidden blocks4
Randomized low rank4Iterative refinement4

The 154 archived rows contain recorded case identifiers, seeds, types, output contracts, and timing scopes. Source-value hashes and explicit correctness-reference fields are absent. Setup time, discovery time, and reuse count are nonnull in only two rows each; correctness errors are present in 149 rows. Equality of available metadata cannot establish the full fair-match relation in Definition 11.2. In particular, CPU-resident and GPU-device-resident scopes differ, and graph replay excludes capture while a device-resident baseline has a different raw scope. The two-stream example also compares wall time with a serial device-time scope. The values below are retained as historical observations with these limitations.

12.1 Dense precision frontier

At dimension \(4096\), the device resident dense rows gave the values in Table 2.

Recorded dense accuracy and throughput at one dimension.
MethodMedian time in msLogical GFLOP per secondRelative error
FP64541.2803253.91\(2.18\times10^{-15}\)
FP3218.13097580.35\(5.76\times10^{-7}\)
TF328.699915797.75\(2.94\times10^{-4}\)
FP164.026434134.72\(3.60\times10^{-4}\)
BF164.148233132.00\(2.88\times10^{-3}\)
Recorded device resident dense throughput across dimensions and scalar types.
Recorded device resident dense throughput across dimensions and scalar types.

View full-size figure (new tab)

The speed and error tradeoff depends on both precision and problem size.
The speed and error tradeoff depends on both precision and problem size.

View full-size figure (new tab)

The frontier is not a universal ordering of scalar types. It records one generated family. Packet precision assignment should use local sensitivities and supported kernels rather than one global type.

12.2 Regular packet operators

For an \(8192\) by \(8192\) equal block operator with block width \(64\) and \(32\) right hand sides, the batched packet calculation took

\[ 0.046032\text{ ms}. \]

It was

\[ 14.8919 \]

times faster than the recorded device resident dense GPU row with the same recorded case, output, and timing scope and

\[ 235.7404 \]

times faster than the recorded CPU dense row (resident CPU scope versus device-resident GPU scope). The relative error was

\[ 8.17\times10^{-8}. \]
Regular equal shapes expose both representation reduction and batched execution.
Regular equal shapes expose both representation reduction and batched execution.

View full-size figure (new tab)

For BDLR application with the same dimension and right hand side count, block width \(64\), and rank \(8\), CUDA Graph replay took

\[ 0.079872\text{ ms}. \]

It was

\[ 10.9355 \]

times faster than the recorded dense GPU row (graph-replay scope versus device-resident scope) and

\[ 153.6527 \]

times faster than the recorded CPU dense row (resident CPU scope versus device-resident GPU scope). Capture time was excluded from the replay scope and must be amortized separately.

Representation and launch strategy both affect BDLR application time.
Representation and launch strategy both affect BDLR application time.

View full-size figure (new tab)

12.3 Compressed products

A compressed BDLR product returns block and low rank factors. Materialization returns all matrix entries. The historical product rows illustrate the cost of changing the output contract; compressed and materialized outputs are separate computations. The GPU materialized BDLR rows at dimensions 512 and 1024 are sums of separately measured factor and expansion medians, as the raw notes state; they are not complete-workflow timing medians.

Compressed and explicit products answer different computational questions.
Compressed and explicit products answer different computational questions.

View full-size figure (new tab)

The algebra in Theorem 5.1 explains why the compressed product can remain small. The materialization cost in Proposition 3.10 explains why explicit output can erase the advantage.

12.4 Discovery and transfer

For hidden permuted blocks at dimension \(512\), structure discovery took \(2.1102\) ms, dense application took \(0.0969\) ms, and packet application took \(0.0151\) ms. The exact threshold in Theorem 10.4 is \(26\) uses. At dimension \(1024\), the corresponding values were \(5.2726\), \(0.1896\), and \(0.0241\) ms, giving \(32\) uses.

A profitable repeated representation can remain unprofitable for one use.
A profitable repeated representation can remain unprofitable for one use.

View full-size figure (new tab)

For one \(2048\) dense FP32 product, device resident graph replay took \(1.9993\) ms. The end to end pageable path took \(7.3036\) ms. The pinned path took \(6.3084\) ms. Two serial device resident products took \(3.6557\) ms, while the tested two stream path took \(4.2368\) ms.

Device residence, transfer, graph replay, and a multioutput pipeline have different timing scopes.
Device residence, transfer, graph replay, and a multioutput pipeline have different timing scopes.

View full-size figure (new tab)

12.5 Negative controls

The corpus retains methods that lost in the recorded baseline comparisons. These are descriptive ratios; scope and complete-metadata qualifications apply.

  • At dimension \(512\), recursive Strassen multiplication with leaf size \(128\) took \(7.0950\) ms, while the recorded OpenBLAS dense multiplication took \(1.9597\) ms.

  • At dimension \(2048\), the tested recursive HODLR GPU path took \(5.6079\) ms, while dense GPU multiplication took \(0.0860\) ms.

  • The tested FP32 iterative refinement solve took \(22.0848\) ms, while the direct FP64 GPU solve took \(12.6286\) ms with a comparable final error.

  • The two stream dense path was slower than the serial two product path.

  • The GPU Walsh Hadamard transform was slower than the CPU implementation at length \(65536\), then became faster at length \(262144\).

Fast multiplication can be asymptotically valuable and still lose at measured sizes because of recursion, memory traffic, and kernel granularity. Hierarchical matrix methods have similar crossover issues [AmbikasaranDarve2013]. Transform algorithms and tensor factorizations form additional structure classes [CooleyTukey1965], [Oseledets2011].

Values above one are slowdowns against the matched baseline.
Values above one are slowdowns against the matched baseline.

View full-size figure (new tab)

The best recorded gain differs strongly across suites. Regular packet structure dominates the largest measured rows.
The best recorded gain differs strongly across suites. Regular packet structure dominates the largest measured rows.

View full-size figure (new tab)

Source and conversion record

Source SHA-256: ef616bca9291ac766d492b88f3166be4bc2b39f9ba6034dea3a4bcf2d2bf5d7f

Unsupported prose commands stop the build. The mathematical expression sequence is checked against the source, with manuscript macros expanded for display.

Conversion records

Notation in Paper VIII

Look up a symbol without leaving this chapter. Select text before opening help to search for it.

Search this work’s notation.

    Symbols can have different meanings in different passages. Read each result in its own context.

    Open the full notation index