Depends what you mean by a 128-bit architecture. If you mean 128 bit addressing - seems unlikely in say the next 5 years. That said I remember as a computer science student have discussions of whether we'd ever need more than 32 bit addressing... which now seems sort of absurd now.
If the original question is will we have machines with 128 bit float types? For main stream usage probably not any time soon- the cost of supporting such a feature wouldn't be worth it for a main stream processor. If you need the precision you can take the performance hit of such precision being emulated. If you really needed it and the performance you now have options like FPGA too.
If the question is about 128bit registers - well most x86 processors have SSE which are 128 bit registers. Most new x86 processors have AVX which are 256 bit registers. And cutting edge x86 processors such as Knights Landing have 512 bit registers. Instead of these registers holding a single value though they hold multiple values - 4 32 bit floats can be held in a 128 bit register for example.
128-bit architectures can also be used to specify bus sizes - we are seeing increasingly large bus sizes on GPUs and CPUs to gain greater bandwidth. For example nVidias pascal has a 1024 bit memory bus.
Also in terms of the original precision question - what if you had for a simulation the choice between using 32 bit floats or 64 bit doubles, but the 32 bit float calculations were say 10 times as fast? Your 32 bit float simulation could run 10 steps of say 1/10 of a timestep for a single 64 bit step. In that scenario (depending on the maths of your simulation) your 32 bit float simulation could be far more accurate, and far more stable. You could also go for 5 steps, and perhaps still be more accurate and stable - and have twice the performance.
1
02 Dec 2016 16:19
u/freddybobs68k
in v/programming
Depends what you mean by a 128-bit architecture. If you mean 128 bit addressing - seems unlikely in say the next 5 years. That said I remember as a computer science student have discussions of whether we'd ever need more than 32 bit addressing... which now seems sort of absurd now.
If the original question is will we have machines with 128 bit float types? For main stream usage probably not any time soon- the cost of supporting such a feature wouldn't be worth it for a main stream processor. If you need the precision you can take the performance hit of such precision being emulated. If you really needed it and the performance you now have options like FPGA too.
If the question is about 128bit registers - well most x86 processors have SSE which are 128 bit registers. Most new x86 processors have AVX which are 256 bit registers. And cutting edge x86 processors such as Knights Landing have 512 bit registers. Instead of these registers holding a single value though they hold multiple values - 4 32 bit floats can be held in a 128 bit register for example. 128-bit architectures can also be used to specify bus sizes - we are seeing increasingly large bus sizes on GPUs and CPUs to gain greater bandwidth. For example nVidias pascal has a 1024 bit memory bus. Also in terms of the original precision question - what if you had for a simulation the choice between using 32 bit floats or 64 bit doubles, but the 32 bit float calculations were say 10 times as fast? Your 32 bit float simulation could run 10 steps of say 1/10 of a timestep for a single 64 bit step. In that scenario (depending on the maths of your simulation) your 32 bit float simulation could be far more accurate, and far more stable. You could also go for 5 steps, and perhaps still be more accurate and stable - and have twice the performance.