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

Replace BLAS with packed_simd #82

Closed
generall opened this issue Aug 1, 2021 · 4 comments
Closed

Replace BLAS with packed_simd #82

generall opened this issue Aug 1, 2021 · 4 comments

Comments

@generall
Copy link
Member

generall commented Aug 1, 2021

https://github.com/rust-lang/packed_simd

Is your feature request related to a problem? Please describe.
BLAS is currently used for a single purpose - to make dot production faster. It looks like overkill.
Compile time is pretty high and it complicates the development

Describe the solution you'd like
Replace BLAS with packed_simd library, which appear to be much lighter.

Describe alternatives you've considered
Use some other lightweight library for SIMD (idk which one)

Additional context
None

@salamer
Copy link

salamer commented Aug 22, 2021

hora have used packed_simd as its SIMD backend, but it can only be built in nightly version, and packed_simd has not iterated for a couple of months, and packed_simd looks like merge into stable version is still in the foreseeable future. if you don't have installation pressure, BLAS may be a better choice, because it has proved itself in many projects.

@generall
Copy link
Member Author

Hi @salamer! I was looking at hora when submitted this issue;) As a matter of fact, BLAS is a pain point when it comes to compilation. I also would like to avoid one unnecessary vector copy which is only used due to ndarray package. I would probably have to spend some more time on this topic and choose fast and at the same time easy to use package for SIMD.

@generall
Copy link
Member Author

@generall
Copy link
Member Author

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

2 participants