Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Determine proper job interval for version rolling ASICs #248

Open
skot opened this issue Jul 2, 2024 · 6 comments · May be fixed by #420
Open

Determine proper job interval for version rolling ASICs #248

skot opened this issue Jul 2, 2024 · 6 comments · May be fixed by #420
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@skot
Copy link
Owner

skot commented Jul 2, 2024

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 skot added bug Something isn't working enhancement New feature or request labels Jul 2, 2024
@skot skot self-assigned this Jul 2, 2024
@skot
Copy link
Owner Author

skot commented Jul 2, 2024

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
Copy link
Owner Author

skot commented Jul 6, 2024

  • Bitaxe 204, BM1366, 485MHz, 2s job interval, Reg10; 00 15 1C
    -> Braiins reported 1hr average hashrate; 433 GH/s

  • Bitaxe 401, BM1368, 490MHz, 0.5s job interval, Reg10; 00 15 A4
    -> Braiins reported 1hr average hashrate; 638 GH/s

@skot
Copy link
Owner Author

skot commented Jul 6, 2024

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

  • BM1366; 112 * 8 * 485,000,000 = 434.5 GH/s
  • BM1368; 90 * 16 * 490,000,000 = 705.6 GH/s

@Georges760
Copy link
Collaborator

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
Copy link
Owner Author

skot commented Jul 7, 2024

Ah, very good. so it should be;

  • BM1366; 894 * 485,000,000 = 433.6 GH/s
  • BM1368; 1276 * 490,000,000 = 625.2 GH/s

@skot
Copy link
Owner Author

skot commented Jul 7, 2024

I'm getting pretty close to these on my test 204 and 401 miners with the latest in PR #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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants