glam-rs icon indicating copy to clipboard operation
glam-rs copied to clipboard

SIMD Vectors for arm and aarch64

Open ifacodes opened this issue 2 years ago • 5 comments

With core::arch::aarch64 having neon in stable (despite the documentation being a bit bugged and claiming some of it isn't), and the std::simd branch you have here, are you be considering implementing for these architectures as well?

ifacodes avatar Jun 19 '22 07:06 ifacodes

Ah I didn't know about that. It's probably not difficult to add, the tricky part is I have no idea how I'd test it. It would be really great if std::simd was stabilised then I could just support that, but I don't know how far off that would be.

bitshifter avatar Jun 19 '22 09:06 bitshifter

I've just added experimental core::simd support in main which could be used to get simd support on arm/aarch64 until I get around to adding explicit neon support. This does require nightly.

bitshifter avatar Jul 08 '22 11:07 bitshifter

thank you!!! I'll check it out in a separate branch

ifacodes avatar Jul 12 '22 19:07 ifacodes

I have an experimental branch with neon support although I haven't worked on it in a while https://github.com/bitshifter/glam-rs/pull/379.

One thing I was finding is performance benefits were less clear than with SSE2. It's making me rethink the structure of glam a bit to make SIMD more opt in and less the default for a bunch of types.

bitshifter avatar Mar 11 '24 03:03 bitshifter

I have an experimental branch with neon support although I haven't worked on it in a while #379.

One thing I was finding is performance benefits were less clear than with SSE2. It's making me rethink the structure of glam a bit to make SIMD more opt in and less the default for a bunch of types.

Note that the only NEON hardware I have is a Raspberrypi, it's possible other hardware would give better results.

bitshifter avatar Mar 23 '24 21:03 bitshifter