Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> not using the latest SIMD extension wastes a lot of compute power

Not really. The unused parts of the SIMD execution units are powered down.

The only problem is that Intel has not introduced instructions for switching the execution width and the attempts to detect the intentions of the executed programs can never be perfect.

Therefore whenever a program starts executing wider instructions there is a large delay until the wide execution units are powered on and during that time the speed is much lower than possible. When a program stops using wider instructions, there is an even greater delay until the execution units are partially powered off and during that time there is a waste of energy.

All these inefficiencies could have been trivially avoided if Intel had not tried to be so clever, but they would have just allowed the programmers to have control over the power consumption, because only they know in advance what their program will do in the future.



> Not really. The unused parts of the SIMD execution units are powered down

True, and that helps with frequency and power, but what I meant with "wastes a lot of compute power" is that e.g. you have an avx2 capable execution unit that can do 256/32 float adds in parallel, but only a single SSE instruction can be scheduled to it, hence you can only get 128/32 float adds via SSE on that execution unit.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: