sparks
Training runs on your DGX Spark, with the curves next to the hardware they ran on.
Submit a training job from your laptop with one command. sparks builds your image, ships it to the box, queues the run and supervises it. Your loop reports its own loss and learning rate, and they land in Grafana beside the GPU power and temperature from the same minutes.
Before you run it
sparks provisions nothing. It needs a box already set up by sparkup: Prometheus with the remote-write receiver, Grafana, an image registry and the queue runner. On your own machine you need Docker and SSH to the box.
The distribution is sparks-dgx; the command and the import are both sparks.
Install
uv tool install sparks-dgx
sparks setup you@your-box
setup remembers the box, lets your Docker push to its registry, restarts Docker, and says when
it is ready. The restart stops whatever containers you have running.
Submit a job
sparks submit --context ./examples --data ./examples/data \
--name lora-r16 -- python /app/lora_finetune.py --epochs 12
--data arrives read-only at /data, also $SPARKS_DATA; read that path and never a laptop one.
Name the script by absolute path, because the container's working directory is the box's shared
directory rather than your image's.
Instrument the loop
from sparks.emit import track
with track(total=epochs * len(loader), tokens_per_step=batch_size * BLOCK) as run:
for batch in loader:
loss = train_one(batch)
run.step(loss=float(loss))
run.step derives step, progress, eta_seconds and the rates. Off the box track reports
nothing, so the same script runs on your laptop unguarded.
Watch it
sparks queue # what is running and waiting
sparks logs <job> # what it printed
sparks status <job> # state, exit code, duration, energy
sparks wait <job> # block until it ends
The README has the rest, and INSTALL_CLAUDE.md has the configuration and the traps.
MIT.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sparks_dgx-0.1.1.tar.gz.
File metadata
- Download URL: sparks_dgx-0.1.1.tar.gz
- Upload date:
- Size: 489.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de98e9194086a8e1a2aa186d39a73daa1db730eb5bf00b51a274acbb9e013aa0
|
|
| MD5 |
526f6b0475268bfbc08f45d5d89122a2
|
|
| BLAKE2b-256 |
5ba5e36daa958cff037a2bacca7a3a56f37c77ad8c41ca74b6b5dde7e159363f
|
Provenance
The following attestation bundles were made for sparks_dgx-0.1.1.tar.gz:
Publisher:
release.yml on vtemian/sparks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparks_dgx-0.1.1.tar.gz -
Subject digest:
de98e9194086a8e1a2aa186d39a73daa1db730eb5bf00b51a274acbb9e013aa0 - Sigstore transparency entry: 2435228468
- Sigstore integration time:
-
Permalink:
vtemian/sparks@5b8b8a7c641dae21ccdde8dc81ce76d6a3dc113c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/vtemian
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5b8b8a7c641dae21ccdde8dc81ce76d6a3dc113c -
Trigger Event:
push
-
Statement type:
File details
Details for the file sparks_dgx-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sparks_dgx-0.1.1-py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eeb2607eed3099c6ffb0bffd2601e4ca4c2c9e7d242b6b68764ed1b12777c413
|
|
| MD5 |
c48684b1172c5e1a9dd15814dcf54a8b
|
|
| BLAKE2b-256 |
fcb5dd4c628792e032e0afae395b2ff05c35705befd5a2940f69f36296eff681
|
Provenance
The following attestation bundles were made for sparks_dgx-0.1.1-py3-none-any.whl:
Publisher:
release.yml on vtemian/sparks
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sparks_dgx-0.1.1-py3-none-any.whl -
Subject digest:
eeb2607eed3099c6ffb0bffd2601e4ca4c2c9e7d242b6b68764ed1b12777c413 - Sigstore transparency entry: 2435228771
- Sigstore integration time:
-
Permalink:
vtemian/sparks@5b8b8a7c641dae21ccdde8dc81ce76d6a3dc113c -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/vtemian
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@5b8b8a7c641dae21ccdde8dc81ce76d6a3dc113c -
Trigger Event:
push
-
Statement type: