Desktops are heading into parralled computing territory, and there is no reason to argue this. What we see happening is the development of Auxilary Proccessing Units in the form of GPGPU. Currently 2 architectures exist: SIMM (AMD) and MIMM (NVIDIA).
In short:
In MIMM architecture each core can perform its own task and so the programing model becomes very simmilar to any multicore CPU.
In SIMM architecure all cores excecute the same instruction but on different blocks of memory.
Both architectures work well and it is only the algorythm sets that are different to max out the potential of the two architectures.
The question is: Which architecture will win in GPGPU?
The programming model for CUDA is more flexible than it is for STREAM, but the power requirement for 1 cuda core will allways be bigger than that for 1 stream processor. Currently 1500 stream processors compete with 512 cuda cores (6970 vs 580) in large datasets (high resolutions), but they loose at lower resolutions, when there is not enough load to use all 1500 stream processors in paralel.
Do you think that the simplicity of a stream processor will make it a beter building block for GPGPU or will the MIMM architecture of CUDA will give it an upper edge? I don't know the answer, but i'd think that if fewer expansive cores in MIMM architecture were the answer we'd see by now 24+++ core CPUs...
Also, I argue that the SIMM model of Stream processors shines with very large sets of data, but MIMM model wins with smaller sets of data. Here large set is anything that has 1000x more threads than the number of cores. So the question is: will the size of memory usage by PCs be large enough to feed 1000s of stream procesors vs only being large enough to feed 100s of cuda cores? Currently we only see such large RAM usage in video compression or rendering applications, ofcouse some models in scientific computing as well.
In short:
In MIMM architecture each core can perform its own task and so the programing model becomes very simmilar to any multicore CPU.
In SIMM architecure all cores excecute the same instruction but on different blocks of memory.
Both architectures work well and it is only the algorythm sets that are different to max out the potential of the two architectures.
The question is: Which architecture will win in GPGPU?
The programming model for CUDA is more flexible than it is for STREAM, but the power requirement for 1 cuda core will allways be bigger than that for 1 stream processor. Currently 1500 stream processors compete with 512 cuda cores (6970 vs 580) in large datasets (high resolutions), but they loose at lower resolutions, when there is not enough load to use all 1500 stream processors in paralel.
Do you think that the simplicity of a stream processor will make it a beter building block for GPGPU or will the MIMM architecture of CUDA will give it an upper edge? I don't know the answer, but i'd think that if fewer expansive cores in MIMM architecture were the answer we'd see by now 24+++ core CPUs...
Also, I argue that the SIMM model of Stream processors shines with very large sets of data, but MIMM model wins with smaller sets of data. Here large set is anything that has 1000x more threads than the number of cores. So the question is: will the size of memory usage by PCs be large enough to feed 1000s of stream procesors vs only being large enough to feed 100s of cuda cores? Currently we only see such large RAM usage in video compression or rendering applications, ofcouse some models in scientific computing as well.
Last edited: