Pipeline
From one change to one signed record.
When a GPU's power cap changes, Spark-XC reads what happened from the GPU, signs it, and links it into a hash chain. The result is one Power Event Record per recorded change. Records power-limit changes made by other tools, not just its own.
Five steps
Each step, in detail
Example scenarios (illustrative)
What the records would show when something goes wrong
These are illustrative examples, not real events. Each shows what the records would show.
Example A
The limit didn't change
A new power cap is requested, but the limit the GPU reports back doesn't match.
What the records would show: the requested and read-back values side by side.
Example B
Another tool changed the limit
Someone changes a GPU's power limit with a different tool.
What the records would show: the change, recorded like any other. Records power-limit changes made by other tools, not just its own.
Example C
A stored record is edited
Someone edits or deletes a stored Power Event Record.
What the records would show: a broken chain on recompute. Anyone with a copy can recompute the chain.
Example D
A value can't be read
The GPU doesn't return one of the values Spark-XC reads.
What the records would show: the value marked missing. Nothing is guessed.
Example E
A record can't be written
Storage is full or unavailable when a change happens.
What the records would show: a flag. If a record can't be written, Spark-XC flags it.
Example F
Spark-XC is offline
The Spark-XC service stops for a while. Your GPUs and schedulers carry on.
What the records would show: no Power Event Records for that window.
At a glance
Each step, at a glance
Step
Source
What it shows
If unavailable
In the PER
1 · Change
Which GPU, when
GPU
Read from the GPU
A change happened
Including changes by other tools
Flagged
Record not written, flagged
Device & time
GPU id and timestamp
2 · Before
Limit before
GPU
Reported limit
Starting point
The limit before the change
Marked missing
Not guessed
Limit before
Watts, as reported
3 · After
Limit read back
GPU
Reported limit & telemetry
What the GPU did
Not just what was asked
Marked missing
Not guessed
Readback values
Limit, power, temperature
4 · Sign
Ed25519
Spark-XC
Signing key
Who sealed it
Check with the public key
Flagged
Unsigned records flagged
Signature
Ed25519
5 · Chain
SHA-256
Spark-XC
Previous record's hash
Not edited since
Breaks on recompute if edited
Flagged
Gap flagged
Chain link
prev_hash, entry_hash
See a record
Check a Power Event Record yourself
Walk one power-cap change from the GPU to a sealed Power Event Record, then recompute its hash chain.