Skip to main content

Crisol

Zero-bloat heterogeneous compute dispatcher and benchmark runner.

Kubernetes, Slurm, and Ray exist to herd a datacenter. Crisol exists for the lab that actually exists: a laptop, a tower with an RTX, a spare headless box — 2 to 5 machines, not 500. One command, one seed, one honest JSONL ledger per run.

$ crisol status
local-cpu: backend=cpu reachable — native win32; Python 3.12.8

$ crisol jobs
cpu-smoke: backends=cpu default_seed=1729
  Stdlib-only CPU matmul smoke benchmark with honest metrics (no torch required).

$ crisol run cpu-smoke
==================================================
  Job:       cpu-smoke
  Node:      local-cpu (cpu)
  Seed:      1729
  Status:    completed (exit 0)
  Elapsed:   0.8s
  Ledger:    ...\results\2026-08-18.jsonl
==================================================

Why Crisol

  • The pain. Setting up Ray/Slurm/K8s for a handful of local boxes is a nightmare of daemons, config, and wasted RAM. Hand-rolled SSH scripts are fragile, produce no traceability, and hide real numbers.
  • The reproducibility crisis. People say "my model flies" while comparing different libraries, dimensions, and no warmup. Crisol pins the seed (default 1729), the dimensions, and the warmup so numbers are comparable.
  • The audit. Every run appends an immutable JSONL record: run id, job, node, backend, status, exit code, elapsed, seed, and full stdout/stderr.

Names

Surface Name
GitHub seed-source/crisol (public, MIT)
PyPI crisol
CLI crisol or sscri (same entrypoint)
Module py -m crisol — use this if PATH still has another crisol

Install

pip install crisol

Then, from any directory:

# Prefer this if PATH still points at the house lab CLI:
py -m crisol doctor
crisol doctor     # validate python, torch/CUDA, results ledger
crisol status     # probe reachable nodes on this machine
crisol jobs       # list registered jobs
crisol run cpu-smoke    # dispatch a smoke benchmark
crisol run cpu-smoke --seed 42   # override the deterministic seed

cpu-smoke needs no torch — stdlib only. If torch is installed, crisol jobs also lists torch-smoke, which runs a real FP16 matmul on CUDA when available and reports honest TFLOPS.

What you get

  • crisol status — probes reachable nodes (local CPU; optional local torch surface with CUDA).
  • crisol jobs — lists the registered dispatch contract, including each job's default seed.
  • crisol run <job> [--seed N] — dispatches the job as a subprocess and writes a JSONL run record to results/.
  • crisol doctor — validates your Python, torch/CUDA availability, and that the results ledger is writable.

The JSONL audit ledger

Each run appends a single line to results/<YYYY-MM-DD>.jsonl:

{"backend": "cpu", "elapsed_s": 0.8, "exit_code": 0, "job": "cpu-smoke",
 "node": "local-cpu", "run_id": "...", "seed": 1729, "status": "completed",
 "stdout": "...", "stderr": "", "timed_out": false, "ts": "..."}

Workloads emit Crisol protocol JSONL on stdout (lifecycle, progress, metrics, result, error) — see docs/PROTOCOL.md.

Roadmap

  • More registered hardware benchmarks (FP16 matmul, attention, tok/s).
  • SSH transport for the 2-5 box lab — remote dispatch with the same JSONL contract and zero daemons.
  • Optional web dashboard for comparing runs.

License

MIT. See LICENSE.


Crisol is the public launch pad of Seedsource Novum. It is deliberately independent of any proprietary physics engine: a clean protocol + metrics + JSONL dispatcher that any lab can adopt.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crisol-0.1.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crisol-0.1.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file crisol-0.1.0.tar.gz.

File metadata

  • Download URL: crisol-0.1.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.6

File hashes

Hashes for crisol-0.1.0.tar.gz
Algorithm Hash digest
SHA256 78c3cbaa06b493ef9e941b1a5c366fdb260cc8e3fe0b3b7c20ce93af60865350
MD5 e5e2635be0952819407d3adc9db12b08
BLAKE2b-256 e3f629fff6ceef3709a21bb35f699c048e2081e628cb46db3a6eb32a9ebbe0c1

See more details on using hashes here.

File details

Details for the file crisol-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: crisol-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.6

File hashes

Hashes for crisol-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6919db046482401ed49f3f11939a0310783d846440729d11d96eb272a3af6ddd
MD5 281c96af0b0f6ab3bf75dd41a4d316ed
BLAKE2b-256 d08f31bea0bfde0aca529b6d2a8467e281cc4d4b52c2071ea565e771785254dc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page