Commit Graph
279 Commits
Author SHA1 Message Date
illuzen b3cef7bab8 fix ci (#32) 2025-12-22 21:25:15 +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
Nikolaus Heger 51ba298a68 Merge pull request #29 from Quantus-Network/n13/benchmark_command
add benchmark command
2025-12-19 19:37:55 +08:00
Nikolaus Heger 3ae66edf13 Merge branch 'main' into n13/benchmark_command 2025-12-19 19:37:00 +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
Nikolaus Heger 3ca29b6d8a throw errors when there's no GPUs detected 2025-12-19 16:40:54 +08:00
Nikolaus Heger c276a1173e clean up options 2025-12-19 15:26:43 +08:00
Nikolaus Heger 6ae4658209 add benchmark command
so we can easily compare CPU and GPU without having to run cargo bench.
2025-12-19 15:22:24 +08:00
Nikolaus Heger f7209be81b fixed some logs 2025-12-19 14:42:02 +08:00
illuzen b4999ab448 unused 2025-12-13 17:45:05 +08:00
illuzen 1eaea91909 clippy 2025-12-13 17:42:43 +08:00
illuzen 52318aeaad support multiple gpus 2025-12-13 17:38:24 +08:00
illuzen 22fecf183e clippy 2025-12-13 17:07:24 +08:00
illuzen 0978d3bebd fmt 2025-12-13 16:21:28 +08:00
illuzen 8e073c110a almost par with cpu now 2025-12-11 15:55:50 +08:00
illuzen c13b0027f3 optimized mds 2025-12-11 14:55:14 +08:00
illuzen 3cb91c4798 simplify 2025-12-11 14:42:13 +08:00
illuzen 43e857dfba simplify 2025-12-11 04:01:31 +08:00
illuzen 83e0c9edce a bit faster 2025-12-11 00:39:23 +08:00
illuzen 1509e2283b clean up documentation 2025-12-09 23:07:57 +08:00
illuzen d423b5c1b1 faster 2025-12-09 22:40:41 +08:00
illuzen 6c7835f348 faster 2025-12-09 22:36:56 +08:00
illuzen 46202989df faster 2025-12-09 22:31:10 +08:00
illuzen 09b63783e0 more benching 2025-12-09 20:49:48 +08:00
illuzen e8e0d6acf4 dynamic thread allocation and work coarsening 2025-12-09 20:31:17 +08:00
illuzen 14022a367f a bit faster 2025-12-09 17:59:42 +08:00
illuzen 587303b480 slight simplification 2025-12-09 17:33:20 +08:00
illuzen 9c88ac7aff a bit simpler 2025-12-09 17:14:25 +08:00
illuzen ffe58596d4 further simplification 2025-12-09 16:58:52 +08:00
illuzen 0ab3049703 simplified gpu code 2025-12-09 15:53:19 +08:00
illuzen 30c3b3f1a7 fix benches 2025-12-08 15:46:15 +08:00
illuzen ccca629c49 improved logging 2025-12-08 14:55:47 +08:00
illuzen 5705d7fb1a a bit faster now 2025-12-03 18:30:41 +08:00
illuzen 9bb8c3cb3c fix benches 2025-12-03 18:15:41 +08:00
illuzen 44e62ce2f4 tests pass and it mines now 2025-12-03 17:48:52 +08:00
illuzen ded099d8bd double hash matches 2025-12-03 17:28:49 +08:00
illuzen 0ebb6c4058 double hash failures 2025-12-03 17:15:11 +08:00
illuzen d8ab215b94 fix verify_nonce 2025-12-03 15:53:03 +08:00
illuzen 0850cb9c92 send target to gpu not difficulty 2025-12-03 15:26:41 +08:00
illuzen 0bbeee332d lock workers to gpu 2025-12-03 14:32:44 +08:00
illuzen 57814d50df better logging 2025-12-03 11:45:34 +08:00
illuzen aa1cf2bb46 gpu runs but doesn't mine 2025-12-01 15:11:07 +08:00
illuzen 66d75b9d9f hash-twice works, thanks Gemini 3 Pro! 2025-12-01 14:31:03 +08:00
illuzen 1a34013d0b moar tests! 2025-11-23 23:18:36 +08:00
illuzen 765a51553e double hash tests, but they fail 2025-11-23 20:00:31 +08:00
illuzen 9f35010ce4 fixed permutations 2025-11-23 19:44:05 +08:00
illuzen 09be940f14 testing 2025-11-23 10:48:41 +08:00
illuzen aec1e76dfc gf_from_const tests 2025-11-23 10:40:38 +08:00
illuzen d0adeb5cf6 more cleanup 2025-11-23 10:31:47 +08:00
illuzen da19865de8 removed another pointless test 2025-11-22 23:50:48 +08:00