Implement SIMD (SSE, NEON, AVX) #31

Open
opened 2024-06-07 00:38:21 -04:00 by josh · 2 comments
Owner

Implement parallelized vector instructions by inlining assembly. The issue is there are several SIMD (Single instruction, multiple data) instruction sets depending on the platform, as follows:

  • x86 - SSE2, SSE3, SSSE3 and SSE4. AVX, and AVX-512
  • ARM - NEON
  • RISC-V - TVM (This is some crazy stuff)
Implement parallelized vector instructions by inlining assembly. The issue is there are several SIMD (Single instruction, multiple data) instruction sets depending on the platform, as follows: * x86 - SSE2, SSE3, SSSE3 and SSE4. AVX, and AVX-512 * ARM - NEON * RISC-V - TVM (This is some crazy stuff)
josh self-assigned this 2024-06-24 19:27:18 -04:00
maxine added the
Status
Need More Info
label 2024-06-24 19:34:19 -04:00
josh added
Kind/Enhancement
Priority
Medium
and removed
Status
Need More Info
labels 2024-06-24 19:57:39 -04:00
Collaborator

I don't think we've began fucking with this yet

I don't think we've began fucking with this yet
Author
Owner

SIMD is coming to the standard library in C++26. Additionally, I may be able to use it via std::experimental.
Here are some more resources for later study:

http://const.me/articles/simd/simd.pdf
https://en.cppreference.com/w/cpp/numeric/simd
https://users.ece.cmu.edu/~franzf/teaching/slides-18-645-simd.pdf
https://en.cppreference.com/w/cpp/experimental/simd

SIMD is coming to the standard library in C++26. Additionally, I may be able to use it via std::experimental. Here are some more resources for later study: http://const.me/articles/simd/simd.pdf https://en.cppreference.com/w/cpp/numeric/simd https://users.ece.cmu.edu/~franzf/teaching/slides-18-645-simd.pdf https://en.cppreference.com/w/cpp/experimental/simd
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: josh/j3ml#31
No description provided.