I rewrote some code to use FloatVectorOperations. I’d been depending on a big boost from this from the start of the project, so I was worried when there was no performance improvement. The good news is that when I replaced FloatVectorOperations with Accelerate Framework calls on a mac, total CPU use dropped to about 25% of what it was previously. But I’d rather use something totally cross-platform. I’ve tried throwing all the necessary compiler options at the problem, but nothing seems to have an effect. My vectors are all doubles and I’m just doing basic multiply+add and multiply+sub operations.
Is there some flag I need to set somewhere to enable using SIMD to accelerate these calls?
BTW, one fairly common (I think) operation that I noticed is missing in FloatVectorOperations is summing a vector.