![]() |
How would you design a CPU/GPU for prime number crunching?
Suppose you could design a CPU specifically for running LL primality tests using mprime (suppose it was customized for your processor). How would your ideal prime CPU look like?
What would be the optimal: - number of cores - frequency VS number of cores, would a very fast single-core be preferable? - more integer cores than floating point (like Bulldozer) or the same? - cache sizes and organization (L0/L1/L2/L3) - would you share L2 cache between cores like Bulldozer does? or dedicate L2 to every core like Nehalem? - faster low-latency L1/L2 or larger L3 cache? - memory bandwidth? (more channels or higher MHz?) - obviously it would include SSE/AVX, but what other SIMD features would you add? what would you change compared to current processors? AVX is only for floating point now, would the integer support in AVX2 be useful? - could MIMD be of any use? is there anything we could remove from current CPUs that isn't needed in prime and increases temperature and power usage without benefit to GIMPS? The internal GPU of course, but is there anything else? And what about the ideal GPU? It would run double precision FP obviously, but what other design requirements would you have? Would you prefer higher frequency to more parallelization? Out of all the CPUs and GPUs that have been manufactured, which architecture was the most efficient for GIMPS? (not actual performance which is related to technology etc, but from a design point of view) |
The CPU should have 4 memory registers and do a single fast operation (beside of I/O reading/writing the registers, or other operation that can all be slow). There registers should have each 4 billion bits, and the operation should be hardware multiplication: mul Rx,Ry,Ra. This would multiply Rx with Ry, with the fastest possible algorithm and give the lowest part in the specified Ra register, and the highest part in the unspecified Rb.
:smile: edit: well, I can live with 3 registers only, and do squaring... :P |
[QUOTE=emily;290013]And what about the ideal GPU? It would run double precision FP obviously...[/QUOTE]
No, actually, double precision FP is a kludge because we're dealing with the floating point registers. The optimal thing would be to have all the registers be integer-based, then you wouldn't have to deal with that extra rounding step and possible errors. |
Please look for answers before starting a new thread. Specifically, [i]there is a stickied FAQ for this question[/i].
[url]http://www.mersenneforum.org/showthread.php?t=15325[/url] [url]http://www.mersenneforum.org/showthread.php?t=12720[/url] |
Yeah looks like I should read more before asking! Thanks :)
|
| All times are UTC. The time now is 16:21. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.