- Introduce miner-telemetry crate for WebSocket-based telemetry
reporting - Add telemetry configuration options to miner-cli CLI - Pass
telemetry CLI args as environment variables for miner-service - Enable
miner-service to bootstrap telemetry from env vars and emit events -
Emit periodic system.interval telemetry with mining stats and metadata -
Add miner-telemetry as dependency to miner-service and workspace member
- Track candidate origin (cpu, gpu-g1, gpu-g2) in metrics with counters
and gauges - Log detailed info on candidate discovery per origin in CUDA
engine - Emit per-job found-origin gauge in miner-service with actual
job_id - Cleanup origin metrics on
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.
Initialize CUDA context and load module once per engine instance,
storing them in a mutex-protected cache to avoid repeated setups. Use
cached context/module for kernel launches, creating a fresh stream each
call. Adjust grid dimension calculation to consider multiprocessor
count.
Add dynamic tuning of desired_iters based on coverage and thread count.
Enhance info logs with attempts and utilization metrics. Update example
config.
Introduce C_DEBUG_FORCE_WIN device constant to force a winner on GPU at
tid=0,j=0. Enable control via MINER_CUDA_FORCE_WIN environment variable
in Rust to trigger early exit and aid debugging.
support for verifying first W candidates on the host when
MINER_CUDA_VERIFY is set, logging any missed winners.
add a metric for missed winners and info logging for found flags.
keep completed jobs with served results for cleanup and log serving
info. add metric increments for result readiness and serving events.
re-verify nonce distance before serving and update job state
accordingly.
remove redundant estimated rate gauges and ensure all related job and
thread metrics are cleaned up on job cancellation and completion.
update GPU CUDA metrics to use backend-specific estimated rate.
early-exit checks for found solutions within each batch by copying and
validating device results. Rebuild per-batch base nonces and initial
states for kernel launches using effective iters instead of
iters_per_thread. Log false positives with debug info for easier
diagnosis.