Commit Graph
18 Commits
Author SHA1 Message Date
Nikolaus Heger c3e7d70a75 fix readme 2025-12-27 11:57:12 +08:00
Nikolaus Heger 96853cad23 restore serve command 2025-12-26 14:03:00 +08:00
Nikolaus Heger 010eff6e71 fix readme 2025-12-26 13:59:21 +08:00
Nikolaus Heger c2773cb80d remove feature cpu 2025-12-26 13:50:48 +08:00
illuzenandNikolaus Heger a97d79632e Hybrid engine (#30)
* hybrid works with one gpu

* handle multiple gpus

* taplo

* fix clippy issues

* refactor to remove unnecessary abstraction layer

* update readme

* fix tests

* clippy

* delete hybrid engine

---------

Co-authored-by: Nikolaus Heger <nheger@gmail.com>
2025-12-22 21:05:31 +08:00
illuzenandNikolaus Heger 5a6de314ab add wgpu support (#28)
* 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>
2025-12-19 19:25:14 +08:00
Cezary Olborski 6831d6a493 feat: Docker image + release (#25)
* feat: Dockerfile

* feat: Docker release

* fix: Cuda build in CI OFF
2025-11-17 09:26:43 +08:00
rob thijssen 8f051f543c Add build.rs to embed version with git SHA in miner-cli binary 2025-09-16 12:24:24 +08:00
rob thijssen d2c39bbdcb ci: build cuda binaries 2025-09-12 08:29:09 +03:00
rob thijssen 8b02b790a4 wip: cubin embed 2025-09-12 04:22:15 +03:00
rob thijssen b035a497fc chore: replace references to deprecated --num-cores flag with --workers 2025-09-10 19:45:06 +08:00
rob thijssen 1b4771ebc3 pr-cleanup: scrubbed references to implementation docs 2025-09-10 11:34:32 +08:00
rob thijssen 49efb4ebc5 07: stable toolchain, rust validations
- Switch toolchain to stable with clippy and rustfmt components - Clean
up Clippy warnings with inline format args and hygiene fixes - Add GPU
engine placeholders (gpu-cuda, gpu-opencl) in CLI and service - Return
clear runtime error and exit for unimplemented GPU engines - Format all
TOML files with Taplo and ensure taplo fmt --check passes - Improve
mining nonce partitioning for safe range splits - Update tests to pass
cleanly on stable without warnings
2025-09-09 21:39:01 +08:00
rob thijssen d0382f875a 05: workers and dashboard sync
- Replace `--cores`/`--num-cores` with `--workers` to clarify intent
(logical CPU threads) - Detect cpuset-aware default for workers, leaving
~50% headroom on shared hosts - Clamp user-specified workers to
effective cpuset size - Update logs, configs, and APIs accordingly
2025-09-09 12:18:04 +08:00
rob thijssen ea40fdf6e5 03: engine comparability 2025-09-07 21:34:44 +08:00
rob thijssen 0d5adf583b 01: soc and metrics
Convert repository into Cargo workspace with modular crates

- Split code into workspace members: miner-cli, miner-service, pow-core,
engine-cpu, engine-gpu-cuda, engine-gpu-opencl, metrics - Moved QPoW
math logic into local pow-core crate with compatibility API and
incremental helpers - Defined MinerEngine trait and baseline CPU engine
in engine-cpu crate - Rewrote service layer in miner-service: job
management, HTTP API, engine orchestration - Added CLI binary crate
miner-cli with flags: --port, --num-cores, --metrics-port, --engine -
Implemented runtime toggle for Prometheus metrics exporter enabled only
when --metrics-port provided - Deprecated root src/lib.rs and
src/main.rs with notices pointing to new CLI/workspace entrypoints
2025-09-07 20:21:10 +08:00
NIK 8fa615e117 minor fixes 2025-08-29 17:27:20 +07:00
NIK 0760600e23 moved from main repo and renamed quantus-miner 2025-06-16 11:46:22 +08:00