BT_USE_DOUBLE_PRECISION performance on Neon/iOS
-
- Posts: 28
- Joined: Sun May 13, 2012 7:14 am
BT_USE_DOUBLE_PRECISION performance on Neon/iOS
Does the Neon/iOS vector math acceleration only support single precision float ? When BT_USE_DOUBLE_PRECISION is defined do we expect a slowdown in Neon's linear math (vector, matrix operations) performance ? Thanks!
Re: BT_USE_DOUBLE_PRECISION performance on Neon/iOS
I have never seen any FPU which has 256bit(4 * double) SIMD registers.
Currently, the common FPUs have 128bit(4 * single) SIMD registers.
Thus, if you use double, the vertors will calculated one-by-one for each dimension element by general registers of FPU.
Of cource, it's clearly slower than SIMD.
but not much slower than single's general register operations.
Because the FPUs already have equal or bigger than 64bit general registers.
Therefore double operation is neither HAL nor HEL thus you can get not bad speed.
Currently, the common FPUs have 128bit(4 * single) SIMD registers.
Thus, if you use double, the vertors will calculated one-by-one for each dimension element by general registers of FPU.
Of cource, it's clearly slower than SIMD.
but not much slower than single's general register operations.
Because the FPUs already have equal or bigger than 64bit general registers.
Therefore double operation is neither HAL nor HEL thus you can get not bad speed.