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

Increase the frequency of CBRANCH #118

Merged
merged 1 commit into from
Aug 30, 2019
Merged

Increase the frequency of CBRANCH #118

merged 1 commit into from
Aug 30, 2019

Conversation

tevador
Copy link
Owner

@tevador tevador commented Aug 25, 2019

The main purpose of this change is to decrease the efficiency of VLIW-based custom hardware that uses static optimization techniques.

Definitions:

  • branch span is the number of instructions that a CBRANCH instruction jumps backwards over
  • trivial branch is a CBRANCH instruction that jumps back to itself, i.e. its span is 0

The effect of this change is following:

  • the average number of branches per program increases from 16 to 25
  • the average number of trivial branches per program increases from 2.1 to 4.0
  • the average branch span decreases from 6.7 to 5.2
  • the hashrate of Intel/AMD CPUs decreases by around 1% (sometimes there is no measurable difference)
  • the theoretical IPC of a simulated VLIW design (using the Python script provided in the X41 audit) decreases by around 20%

@tevador tevador merged commit 22689ed into master Aug 30, 2019
netmebtc added a commit to netmebtc/node-cryptonight-hashing-2 that referenced this pull request Sep 30, 2019
ghost pushed a commit to wownero/RandomWOW that referenced this pull request Apr 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants