Post
Topic
Board Altcoin Discussion
Re: Thread about GPU-mining and Litecoin
by
DeathAndTaxes
on 17/02/2012, 14:01:57 UTC
One thing (somewhat theoretical) I would throw out there is that as GPUs become more "CPU like" they will devote the necessary resources (transistors and chip yield) to increased L1 cache.  GPU long since outstripped the growth in pixel counts so they devoted more resources to improved image quality at a fixed number of pixels and/or polygons.  The GPU resources are growing faster than developers ability to use them as devising more complex and realistic "effects" requires more human capital than simply doubling the polygon count or going from a 800x600 pixel count to 1920x1200 pixel count.  So it will be increases in GPGPU workload which increasingly drives development of future GPUs.   

GPU traditionally had very little local cache because there is no need when performing traditional graphics work.  That dynamic likely won't hold true in the future.  NVidia Tesla cards for example can be configured to double the amount of L1 cache because it is so useful in boosting performance of some GPGPU functionality.   Larger L1 caches will eventually trickle down into consumer grade products to.

No coin today is "anti-GPU" it is they can be described as "large L1 cache dependent".   Even if GPU mining is impossible w/ todays hardware the desire for GPGPU performance will drive higher cache in the SP for future GPU and eventually they will be able to perform with no limitation.

One "hard" alternative is to make the lookup tables so large they can only fit in main memory (say a 3.2GB lookup table).   That obviously makes the code less functional on those with limited system resources but given CPU access to memory is always lower latency that GPUs it becomes hard to defeat.  Eventually GPUs shared memory will be 4GB, 8GB, 16GB etc so possibly some algorithm which adjusts size of lookup table based on Moore's law might be needed (i.e. uses a 3.2GB lookup table at current block but that increases by 7% every 40,000 blocks as part of the protocol, maybe on a multiple of difficulty like every 8th difficulty adjustment is also a memory adjustment).