Skip to content

Removed reliance on nightly#2

Open
oh-yes-0-fps wants to merge 1 commit intoKavrakiLab:masterfrom
oh-yes-0-fps:non-nightly
Open

Removed reliance on nightly#2
oh-yes-0-fps wants to merge 1 commit intoKavrakiLab:masterfrom
oh-yes-0-fps:non-nightly

Conversation

@oh-yes-0-fps
Copy link

This is a rough pass on using wide instead of portable_simd for vectorized operations.

It passes all the tests and seems comparable on benchmarks

Portable Simd

plot_08 plot_04 plot_06 plot_01 plot_07 plot_03 plot_05 plot_02 plot_09

Wide

plot_08 plot_06 plot_04 plot_01 plot_07 plot_03 plot_05 plot_02 plot_09

Full disclosure the first pass of this was done using claude code with bug fixes and regressions being tracked down manually.

@claytonwramsey
Copy link
Member

Thanks for the PR!

I don't mind moving off of nightly, but I think I can't accept this PR for two reasons:

  1. I have some yet-unpublished projects that also rely on std::simd, and don't have the bandwidth to port everything.
  2. I want to be able to support arbitrary lane selections and floating-point data types -- e.g. for AVX-512.

Ideally, if we pick a third-party SIMD library, it should also support scatters and gathers (though on most hardware those ops are effectively sequential).

@oh-yes-0-fps
Copy link
Author

I understand. You could use some basic conditional compiling to implement your own gather.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants