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.

Remote Dispatch & Multi-Node Labs (Receiver & Client)

Crisol includes a zero-dependency HTTP receiver daemon for dispatching workloads to remote compute hosts (GPU rigs, Mac Silicon nodes, cloud VMs) with real-time NDJSON event streaming.

1. Start Receiver on Compute Host

crisol receiver --port 8430 --token my-secret

2. Configure Named Node on Local Machine

crisol config set-node m2 http://192.168.1.50:8430 --token my-secret
crisol config list

3. Check Remote Health & Dispatch

# Probe remote node
crisol status --node m2

# Interactive real-time streaming
crisol run torch-smoke --node m2

# Detached background execution (run & reconnect)
crisol run torch-smoke --node m2 --detach
# -> Job 'torch-smoke' dispatched in background! Run ID: run_a9e9f510

# List runs on remote node
crisol runs --node m2

# Stream/listen to the running or completed job
crisol listen run_a9e9f510 --node m2

What you get

  • crisol status [--node <name|url>] — probes reachable nodes locally or on a remote receiver.
  • crisol jobs — lists the registered dispatch contract, including each job's default seed.
  • crisol run <job> [--node <name|url>] [--seed N] [--detach] — dispatches the job locally or remotely with live event streaming and immutable JSONL audit.
  • crisol listen <run_id> --node <name|url> — reconnects to a remote running or completed job's event stream.
  • crisol runs --node <name|url> — lists recent runs and execution status from a remote node.
  • crisol config [set-node|rm-node|list] — manages friendly node aliases (~/.crisol/config.json).
  • crisol receiver [--host H] [--port P] [--token T] — starts the zero-bloat HTTP receiver daemon.
  • 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.

Metadata

Release files for crisol 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crisol 0.1.1
File Size Uploaded
crisol-0.1.1.tar.gz 24.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crisol 0.1.1
File Interpreter ABI Platform
crisol-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 50.7 kB

Release files / crisol-0.1.1.tar.gz

Download URL crisol-0.1.1.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
28a7320801f6421bd58ec84b55c0f52f1a93fc38237ba21a77c7a2071e89b9af
BLAKE2b-256 checksum
How to use checksums
cdf778a7433608b37a4a62aa03f4c7ea088812d74749d183bf985416cf81aab3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.6

Release files / crisol-0.1.1-py3-none-any.whl

Download URL crisol-0.1.1-py3-none-any.whl
Size 26.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25b820d17349084341f9a4e46eef5b60ac2913dd39c31df87e9f6e17ee22cb54
BLAKE2b-256 checksum
How to use checksums
3ce5bf2540384d781eaa91b3e06b6293c9ffc74d062a53d96cbcf47a0552d069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page