1

I'm mining Litecoins using an AMD Radeon HD7850 with 2G global memory, and my conf is below:

thread-concurrency=4096
lookup-gap=2

After reading the algorithms of scrypt130511.cl, I discovered lookup-gap is used for time memory tradeoff.

It consumes 512MB global memory when loopup-gap is 2, while it consumes 1GB global memory when loopup-gap is 1.

But after I change lookup-gap to 1, the hashrate dropped from 320K to 300K. Why is it slower when there's less computation?

4

2 回答 2

2

这基本上是 CPU 和内存的权衡因素。所以你有几个因素需要考虑。查找间隙与每个哈希器固定为 128KB(用于莱特币挖掘)的暂存器混淆。所以基本上你的 GPU 有一个小的本地内存,每个内核都有一个非常高的带宽和大的全局内存。(您可以在此处查看有关 GPU 内存拱门的更多信息:http: //www.microway.com/hpc-tech-tips/gpu-memory-types-performance-comparison/

所以基本上scratchpad的操作是巨大的,如果你有更好的带宽,你就会有更快的速度。所以也许正在发生的事情是暂存器不适合您的本地内存,但是当您设置 lookup-gap = 2 时,您会得到一半的大小,因此它比以前更适合本地内存,因此 GPU 可以这些操作是本地的。

另外一点,当您使用 GPU 的所有内核时,共享内存存在一个问题:它们不能同时在内存中进行读/写操作。而对于本地内存,GPU的每个处理器都有自己的,所以它们都可以在便笺簿上进行海量的读/写操作。

这是一个可以使哈希率下降的因素,但不一定如此。有很多因素可以改变你的哈希率。我希望它有帮助:D

于 2014-01-25T23:26:47.260 回答
0

也许是因为还有其他因素,比如内存访问时间和内存带宽?

于 2014-01-02T13:32:49.510 回答