Dumb Question that could 2x CPU Perf.
What you're thinking of is what is called SIMD or Single Instruction Multiple Data. This is a dedicated set of hardware registers on the CPU exposed through instruction set extensions. For x86 based processors this has been around since the first version of SSE which came out in 1999 (IIRC). This allowed developers to apply the same instruction to 4x 32bit single precision floating point numbers. Subsequent versions expanded this with more instructions to allow for 2x 64bit double precision floating point numbers or 2x 64 bit integers, 8x 16bit short integers, 16x 8bit characters.
Other instruction set extensions exist for different instruction architectures such as NEON for ARM based devices. Additionally, we have even more SIMD extensions for x86 such as AVX512 which has up to 512bit registers.
SIMD has been the bread and butter for game developers for quite some time now. Every bit of vector or matrix math is performed using these registers since the performance increase is absolutely massive (10x over regular scalar math in some cases). Although that is not always the case since performance is purely implementation and task specific. You could just as easily attain half the performance of scalar math if you use SIMD in an application where it doesn't make sense or implement it poorly.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now