【发布时间】:2018-07-18 01:43:05
【问题描述】:
现代 CPU 的 ethash 哈希率低于 1MH/s(来源:https://ethereum.stackexchange.com/questions/2325/is-cpu-mining-even-worth-the-ether),而 GPU 可以轻松地以超过 20MH/s 的速度进行挖掘。借助超频内存,它们的速率最高可达 30MH/s。
GPU 具有时钟频率约为 1000MHz 的 GDDR 内存,而 DDR4 以更高的时钟速度运行。 DDR4 的带宽似乎也更高(来源:http://www.corsair.com/en-eu/blog/2014/september/ddr3_vs_ddr4_synthetic 和 https://en.wikipedia.org/wiki/GDDR5_SDRAM)
据说对于 Dagger-Hashimoto/ethash 内存带宽是最重要的事情(也经历过超频 GPU),我认为这是合理的,因为 CPU/GPU 只需执行 2x sha3 (1x Keccak256 + 1x Keccak512) 操作(来源:https://github.com/ethereum/wiki/wiki/Ethash#main-loop)。
现代 Skylake 处理器每秒可以计算超过 100M 的 Keccak512 操作(参见此处:https://www.cryptopp.com/benchmarks.html),因此 GPU 和 CPU 之间的核心数量差异应该不是问题。
但是为什么我们不能从 2xKeccak 操作和 CPU 上的内存加载中获得大约 50Mhash/s?
【问题讨论】:
-
一个 GPU 有更多的处理器内核。
-
我知道这一点,但该算法并不依赖于我所理解的处理性能,因为那里只有 2 个 sha3 调用,现代处理器能够处理比 1M 次/秒快得多的速度
-
不,这不是重复的,我知道 GPU 有更多的内核。该算法旨在使其成为内存瓶颈,但我没有找到任何为什么内存是瓶颈
标签: algorithm performance gpu