john-h-k / MathSharp

A vector and matrix library written in C# using hardware intrinsics
MIT License
695 stars 49 forks source link

[PROPOSAL] Make all operations use 128 bit wide vectors and create a new API for 256 bit wide vectors. #55

Open ghost opened 5 years ago

ghost commented 5 years ago

Currently doubles use 256 wide vectors for vectorized math which can cause downclocking on most modern CPUs, there's also no way to use 256 bit wide vectors for float math. I think adding a new static class named something like HeavyVector which would mirror the Vector class but that uses AVX instructions with fallbacks to SSE and software would allow users to decide for themselves if downclocking is worth it for their use case.

john-h-k commented 5 years ago

Hmmm