3 ms·
GPUs have high latency, high throughput memory. Random access is a killer if your calculations are at all serialized
by snovv_crash 7y ago
GPUs have high latency, high throughput memory. Random access is a killer if your calculations are at all serialized
- nabla9 7y agoThe SLIDE algorithm is not serialized. The only issue is the sparsity.
- mrb 7y agoGPUs would still be faster than CPUs. You describe them as high-latency but their memory latency is comparable to CPUs. That's why ethash mining or equihash mining (workloads bottlenecked by short ≤32-byte random memory reads) is still faster on GPUs than on CPUs. Also see https://news.ycombinator.com/item?id=22505029 https://news.ycombinator.com/item?id=22505029
- thesz 7y ago32-bytes accesses are not short. 8 bytes (double precision floating point) are shorter and that's makes sparse matrix multiplication hard on GPU. Also, SHA256(d?) employed by ethash is, actually, quite long - 80 cycles, at the very least (cycle per round). In mining you can interleave mining computation for one header with loading required by computation of mining of another header and, from what I know, this is what CUDA on GPU will do. The sheer amount of compute power makes ethash mining faster on GPU.
- mrb 7y agoReads shorter than 64 bytes on a CPU all cost you the same: a packet of 64 bytes on the memory bus, because that's the atom size of modern CPU's DDR4 memory controllers... On GPUs the atom size is 32/64 bytes. So GPUs are always better than or equal to CPUs when it comes to small reads/writes. It's true that the compute power of ethash is not negligible, but to give you one more data point: on equihash there is even less compute spent on hashing, and GPUs still dominate CPUs