20 Commits

Author SHA1 Message Date
7f217df04f feat(miner): scale displayed hashrate units dynamically 2026-03-30 11:47:36 +02:00
b6af554b0c perf(sha256): eliminate double bswap between SHA256d pass1 and pass2
Add sha256_transform_armv8_2way_pass2 which reads the pass1 output state
words directly into MSG0/MSG1 without byte serialization. Previously:
  sha256_state_to_digest() → native uint32 → BE bytes (8x write_u32_be)
  sha256_transform load   → BE bytes → vrev32q_u8 → native uint32 (4x)
These two conversions cancel out. The new path skips both, saving ~52
shift/store/load/vrev ops per 4-nonce group. Also eliminates the two
128-byte block2 stack buffers from sha256d80_hash_4way_armv8_2way.
2026-03-30 11:13:59 +02:00
8709072574 perf(miner): use CLOCK_MONOTONIC_COARSE and counter-based rate reporting
Replace time() syscall with clock_gettime(CLOCK_MONOTONIC_COARSE) and
gate timestamp/rate checks behind a batch counter to avoid clock overhead
on every iteration. Set reporting interval to 2s.
2026-03-30 10:42:40 +02:00
7d4096749a perf(sha256): add ARMv8 2-way interleaved transform and scan_4way_direct
Process two independent SHA256 chains simultaneously to hide the 2-cycle
latency of vsha256hq_u32 on Cortex-A76, approaching full throughput.
Also reduces memcpy from 512 to ~192 bytes per 4-nonce group by reusing
block buffers, and adds scan_4way_direct to bypass pthread_once (LDAR
barrier) on every inner-loop call.
2026-03-30 10:42:17 +02:00
b2f0090236 update gitignore 2026-03-30 09:07:48 +02:00
b700b7b25d bench: align bench_hash to backend 4-way scan path 2026-03-30 09:05:54 +02:00
6be9e3cafd test(sha256): add 100k nonce equivalence and hitmask checks 2026-03-30 09:05:42 +02:00
89dcee8951 build: wire ARM backend objects and keep bench/test/pgo targets 2026-03-30 09:05:10 +02:00
ef320a4397 perf(miner): route nonce scanning through sha256d80_scan_4way 2026-03-30 09:05:06 +02:00
5b4c11f6f0 feat(sha256): add sha256d80 backend API and ARM64 kernel entry 2026-03-30 09:04:57 +02:00
1501e6d65c chore(gitignore): ignore only local miner.conf 2026-03-30 09:04:47 +02:00
4cccc1fae4 build(config): enable native/LTO flags, tune defaults, and ignore .conf files 2026-03-30 01:20:59 +02:00
940d291b09 perf(runtime): reduce worker I/O overhead in multiprocess mode 2026-03-30 01:20:52 +02:00
8c124a4a85 perf(miner): optimize sha256d nonce loop with precomputed blocks 2026-03-30 01:20:50 +02:00
41bfecd0d8 chore(prototype): move legacy python miner into prototype folder with usage docs 2026-03-30 01:10:31 +02:00
1f0b00c679 docs: update README for C build and launcher usage 2026-03-30 01:07:25 +02:00
accaa5fbdb build: add Makefile and C runtime configuration files 2026-03-30 01:07:23 +02:00
d2c118833b feat(c-miner): port miner pipeline to modular C implementation 2026-03-30 01:07:19 +02:00
9a0a170799 feat(skills): add local python-to-c-efficiency skill with modular C scaffold
add local Codex skill for Python->C performance-focused translation

define modular C architecture and benchmark/correctness gates

add references for patterns, profiling, and module design

add scaffold_c_module.py to generate include/src/tests/bench skeleton

update agent default prompt for benchmark-backed optimizations
2026-03-30 00:08:14 +02:00
3ea99d84f4 Initial commit 2026-03-24 17:06:51 +01:00