Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zimt - a SIMD abstraction layer - can use Vc as a back-end #352

Open
kfjahnke opened this issue Jan 28, 2023 · 0 comments
Open

zimt - a SIMD abstraction layer - can use Vc as a back-end #352

kfjahnke opened this issue Jan 28, 2023 · 0 comments

Comments

@kfjahnke
Copy link
Collaborator

Dear all!

I'd like to attract your attention to my new library zimt. I am in the process of factoring this code out from my library vspline because I found that the code has a much wider scope than being part of a b-spline library. For now, zimt supports four SIMD back-ends:

  • Vc
  • highway
  • std::simd
  • 'goading'

The idea is to make all these back-ends interoperable and accessible via a common API. Building on top of this common API is code to 'roll out' SIMD pipeline code over arbitrarily strided nD arrays of fundamentals or 'xel' data, like pixels. This code is already quite mature, because it's been in use for years with both vspline and my image/panorama viewer lux.
The common API is very similar to Vc::SimdArray - in fact I had a large-ish body of code relying on Vc::SimdArray and needed a way to re-use the code for a larger set of targets, and that was my initial trigger to develop the code which is now in zimt. Therefore it may help Vc users who want to port code based on Vc::SimdArray to another back-end.

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

No branches or pull requests

1 participant