skot / ESP-Miner

A bitcoin ASIC miner for the ESP32
GNU General Public License v3.0
357 stars 132 forks source link

Determine proper job interval for version rolling ASICs #248

Open skot opened 4 months ago

skot commented 4 months ago

Version rolling ASICs such as the BM1366 and BM1368 should be able to have much longer job intervals, on the order of 10s of seconds.

We know that the interval for a S19XP with 110 chips in the chain is 2.14s

skot commented 4 months ago

The current formula, GLOBAL_STATE.asic_job_frequency_ms = (NONCE_SPACE / (double) (GLOBAL_STATE.POWER_MANAGEMENT_MODULE.frequency_value * BM1366_SMALL_CORE_COUNT * 1000)) / (double) GLOBAL_STATE.asic_count;

results in ASIC_task: ASIC Job Interval: 9.91 ms which is way too short.

skot commented 4 months ago
skot commented 4 months ago

We think the expected hashrate should be: Cores Small Cores Hash Freq

Georges760 commented 4 months ago

Little correction : BM1368 has 80 cores not 90.

And instead of using the cores*small cores value, we should use the total small cores counts of 894 for BM1366 and 1276 for BM1368. It is a small difference but I believe these numbers exist just for this reason.

skot commented 4 months ago

Ah, very good. so it should be;

skot commented 4 months ago

I'm getting pretty close to these on my test 204 and 401 miners with the latest in PR https://github.com/skot/ESP-Miner/pull/249

This uses hardcoded job interval numbers based on the job intervals measured on the S19XP and the S21

the problem is this will probably not work for overclocking.