this post was submitted on 27 Sep 2023
27 points (96.6% liked)
Programming
17534 readers
248 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If it binds to numpy, does it not automatically use all accelerations available? I can't really believe that it binds to numpy and does not use them. Maybe a flag needs to be set? I know in rust the numpy bindings have a feature flag for blas etc.
If you don't find one that fits the requirements exactly a few benchmarks are probably best to determine which one is most suited.
Unfortunately I don't believe NumPy has any built in accelerations (other than being a C library which is fast already), though I don't really know the ins and outs. There are Python libraries that use the NumPy API or otherwise do some stuff to accelerate it on e.g. CUDA, but the Numpy.NET library as far as I know uses its own embedded Python + numpy, so as far as I can tell that wouldn't be an option.
Wtf, this is so absurd I find it hard to believe. They ship a python interpreter just to get numpy? And then wrote bindings to python instead of writing c# bindings for numpy?
Edit: wtf they really do.
Rust numpy seems to do something similar though. They have ndarray, which is independent from numpy, as a number crunching backend though. This is the part that can use blas.