<p>The ALU OP numbers are correct. The numbers vary based on the video card but are basically in the range of 1,300 to 1,700 operations per double-hash. On the x86, you need more instructions (around 3,700 - 4,500 depending on the exact CPU) but these CPUs can average more than one operation per clock cycle, so you can't convert instruction counts directly into execution speed.</p>

<p>All sensible mining implementations (CPU or GPU) attempt more than one hash at a time. On an x86 CPU, it's typically around four hashes at a time (one per core). On a GPU, it's more like 1,000 - 3,000 hashes at a time (one per core). Hence the <a href="https://en.bitcoin.it/wiki/Why_a_GPU_mines_faster_than_a_CPU#Short_Answer">superior hashing performance of GPUs</a>.</p>

CC BY-SA 3.0
2011-09-28T20:25:17.890Z
double hash as in: "Bitcoin uses: SHA256(SHA256(Block_Header))" https://en.bitcoin.it/wiki/Block_hashing_algorithm .   any idea why ArtForz says  "one bitcoinhash is ~6.35k x86 INTOP".   are you sure the numbers are for a doule hash and not for a single hash? I will look into the kernel code.
kermit
CC BY-SA 3.0
2011-09-28T20:44:55.953Z
Oops, you're right. I'll fix it. It doesn't quite double as there's some optimizations you can do.
David Schwartz
CC BY-SA 3.0
2011-09-29T13:08:24.860Z
it looks like the poclbm kernel for example is doing both SHA256 at once as you said.
kermit
CC BY-SA 3.0
2011-09-28T20:21:56.867Z
2011-09-28T20:49:21.487Z
2011-09-28T20:49:21.487Z
David Schwartz
<p>turns out it is ~3385 integer operations per bitcoin hash</p>

<p><a href="https://bitcointalk.org/index.php?topic=7964.msg550288#msg550288" rel="nofollow">https://bitcointalk.org/index.php?topic=7964.msg550288#msg550288</a></p>

CC BY-SA 3.0
2011-09-30T15:07:25.460Z
2011-09-30T15:15:08.197Z
2011-09-30T15:15:08.197Z
kermit
<p>I thought it was the ALU OPs like here: 
<a href="https://bitcointalk.org/index.php?topic=7964.0">https://bitcointalk.org/index.php?topic=7964.0</a></p>

<p>ArtForz speaks of much higher values, though: 
<a href="https://bitcointalk.org/index.php?topic=4689.msg68933#msg68933">https://bitcointalk.org/index.php?topic=4689.msg68933#msg68933</a></p>

<p>Does the kernel run more than once for a hash? What am I missing?</p>

<hash><difficulty>
How many Integer Operations on a GPU are necessary for one Hash?
kermit
# How many Integer Operations on a GPU are necessary for one Hash?

(Asked by: username_0 on 2011-09-28)

I thought it was the ALU OPs like here:
<https://bitcointalk.org/index.php?topic=7964.0>

ArtForz speaks of much higher values, though:
<https://bitcointalk.org/index.php?topic=4689.msg68933#msg68933>

Does the kernel run more than once for a hash? What am I missing?

**Tags:** hash, difficulty


---

## 2 answers

### Answer by username_0 on 2011-09-30. Score: 4 | Accepted answer

turns out it is ~3385 integer operations per bitcoin hash

<https://bitcointalk.org/index.php?topic=7964.msg550288#msg550288>


---

### Answer by username_1 on 2011-09-28. Score: 11

The ALU OP numbers are correct. The numbers vary based on the video card but are basically in the range of 1,300 to 1,700 operations per double-hash. On the x86, you need more instructions (around 3,700 - 4,500 depending on the exact CPU) but these CPUs can average more than one operation per clock cycle, so you can't convert instruction counts directly into execution speed.

All sensible mining implementations (CPU or GPU) attempt more than one hash at a time. On an x86 CPU, it's typically around four hashes at a time (one per core). On a GPU, it's more like 1,000 - 3,000 hashes at a time (one per core). Hence the [superior hashing performance of GPUs](https://en.bitcoin.it/wiki/Why_a_GPU_mines_faster_than_a_CPU#Short_Answer).

> **Comments:**
> **username_0**: double hash as in: "Bitcoin uses: SHA256(SHA256(Block_Header))" https://en.bitcoin.it/wiki/Block_hashing_algorithm .   any idea why ArtForz says  "one bitcoinhash is ~6.35k x86 INTOP".   are you sure the numbers are for a doule hash and not for a single hash? I will look into the kernel code.  
> **username_1**: Oops, you're right. I'll fix it. It doesn't quite double as there's some optimizations you can do.  
> **username_0**: it looks like the poclbm kernel for example is doing both SHA256 at once as you said.  

---

