Question

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?

Was it helpful?

Solution

That is basicly a tradeoff factor for CPU and Memory. So you have a few factors to consider. The lookupgap messes with the scratchpad that is fixed to 128KB per hasher (for Litecoin mining). So basicly your GPU has a small local memory for each core that has a VERY high bandwidth and big global memory. (You can see more about the memory arch of a GPU here: http://www.microway.com/hpc-tech-tips/gpu-memory-types-performance-comparison/ )

So basicly the operations at scratchpad are massive, if you have a better bandwidth, you will have more speed. So maybe what is happening is that the scratchpad doesnt fit on your local memory, but when you put lookup-gap = 2, you get half of the size, so it fits more on the local memory, than before, so the GPU can make these operations local.

Other point, shared memory has a problem when you are using all the cores of your GPU: They cannot all do read/write operations at the memory at same time. And for the local memory, every processor of GPU has their own, so all of them can do massive read/write operations at scratch pad.

That is a factor that can make that hashrate drop, but its not necessarily that. There is a LOT of factors that can change your hash rate. I hope it helps :D

OTHER TIPS

Perhaps because there are other factors, like memory access time and memory band width?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top