* docs: update systemd example for the serve CLI with required node auth
The unit and readme still described the old HTTP-API miner (MINER_PORT,
MINER_ENGINE, no subcommand). Update ExecStart to 'serve' and document the
now-required MINER_AUTH_TOKEN_FILE / MINER_TLS_CERT_SHA256_FILE, including
how to copy the node's miner-auth-token and miner-tls-cert-sha256 files
past ProtectHome=true, and refresh the env var reference to the current
CLI.
* docs: fix env-file example and CPU-worker claims per review
- Move inline comments off the env assignments: systemd EnvironmentFile=
keeps inline '# ...' text as part of the value, so the copied example fed
Clap unparseable values and the unit crash-looped under Restart=always.
- Describe the real worker behavior: CPUs are counted via the process
affinity mask (num_cpus); unset MINER_CPU_WORKERS auto-detects ~50%, and
an explicit value is used as-is — there is no clamp or warning.
- Drop the 'logs the detected cpuset mask' claim from the unit and override
comments; no such logging exists in the miner.
* docs: metrics exporter is always on; purge-chain does not rotate credentials
- The Prometheus exporter starts unconditionally and binds plaintext HTTP on
0.0.0.0:9900 by default; MINER_METRICS_PORT only changes the port. Say so
everywhere instead of 'when metrics are enabled', and add a hardening note
to firewall the port.
- Rephrase the credential-rotation pitfall: purge-chain removes only the
database, so the node reloads the same miner-auth-token and TLS cert;
rotation only happens when the base path changes or the files themselves
are deleted.
* ok wgpu runs hello world
* toy hasher
* separate wgsl file
* kinda poseidon2
* test vectors
* closer
* a bit of debug
* closer
* sort of almost
* fixed gf_mul
* merge gf_mul back into mining, clean up tests
* fix bytes_to_field_elements
* linear layer fixed
* maybe better?
* mds tests
* cleanup debug output
* found gf_mul bug
* fixed gf_mul bug
* efficient sbox again
* mds matches
* cleanup
* test internal layer
* cleaner
* external linear passes
* external layer tests
* fixed the constants
* moar tests
* more cleaning
* actually test just internal
* fairly clean tests now
* removed another pointless test
* more cleanup
* gf_from_const tests
* testing
* fixed permutations
* double hash tests, but they fail
* moar tests!
* hash-twice works, thanks Gemini 3 Pro!
* gpu runs but doesn't mine
* better logging
* lock workers to gpu
* send target to gpu not difficulty
* fix verify_nonce
* double hash failures
* double hash matches
* tests pass and it mines now
* fix benches
* a bit faster now
* improved logging
* fix benches
* simplified gpu code
* further simplification
* a bit simpler
* slight simplification
* a bit faster
* dynamic thread allocation and work coarsening
* more benching
* faster
* faster
* faster
* clean up documentation
* a bit faster
* simplify
* simplify
* optimized mds
* almost par with cpu now
* fmt
* clippy
* support multiple gpus
* clippy
* unused
* fixed some logs
---------
Co-authored-by: Nikolaus Heger <nheger@gmail.com>
* support new pow algo, remove montgomery
* format
* remove redundant check
* use local poseidon until we release
* back to release
* remove unnecessary fxn
* comment out cuda for now
* comment out open-cl
* fix more tests
* remove cuda jobs
kernel launches
Include detailed logs for device info, context creation, buffer
allocations, kernel resolution and launch parameters, and data transfers
to help diagnose CUDA behavior and failures. Also add fallback and error
logging enhancements.
Refactor all NVIDIA GPU profiles for mixed-load (lower) and dedicated
(upper) configurations. Enable auto-tuning of per-batch iterations (do
not set desired iters). Adjust thread/block counts, iteration budgets,
and enable/disable sampling and verification to balance responsiveness
and overhead for each profile. Add usage tips and logging level
guidance.
Add dynamic tuning of desired_iters based on coverage and thread count.
Enhance info logs with attempts and utilization metrics. Update example
config.
Enable sampler debugging via MINER_CUDA_SAMPLER env var to verify
host/device parity of sampler outputs, logging warnings on mismatch
Add example env file for RTX 3060 debug configuration
Provide example .env files targeting typical block/thread configurations
for RTX 3060/3080/3090/4080/4090/5090 and A5000/A6000.
Include guidance on tuning iterations, pinned buffers, and kernel modes.
Document usage with systemd and manual export for ease of deployment.
- Detect effective CPUs with cpuset awareness (cgroup v2/v1 fallback) -
Log detected cpuset mask or fallback info at startup (debug) - Expose
miner_effective_cpus Prometheus gauge (metrics feature) - Add
production-ready systemd unit and example CPU affinity overrides -
Include documentation for installation, overrides, and validation