-
Notifications
You must be signed in to change notification settings - Fork 23
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
Support for SIMD instructions #80
Comments
@Magalame I definitely do have a strong desire to add SIMD support to massiv. I have tried a few things before and have been pondering on some ideas on how to best implement it for a while now. I think I might a good idea that could work. Time permitting, I'll try to implement a proof of concept in some near future and will ping you here so I can get some feedback. ;) In short, the idea I have, is to go directly through C world with FFI, rather than using primitives from |
@lehins I see, sounds good I'm excited :) If as @klapaucius points out SIMD support gets to the NGC backend, it might avoid you a lot of trouble |
It is really good news that ghc will finally be able generate SIMD natively. I had a pretty good day in that direction as well. Was experimenting with implementing matrix multiplication using SIMD in C and FFI and saw a very nice speed up:
It is still pretty far from being production ready, but it is getting me closer to having some sort of SIMD capabilities in massiv |
I have to say I'm fairly impressed with the native GHC SIMD (llvm) capabilities:
|
I started a separate repo for now for the |
I'll look into it! Someone also recommended me this paper on the same subject: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/haskell-beats-C.pdf |
@Magalame It is a very interesting read, highly recommend it too. Unfortunately |
@klapaucius That's where that branch went, I was looking all over for it, I even asked Roman about it. :D (Thank you for posting a link to it!) |
@klapaucius your comments always are providential! |
@klapaucius your comments are always so concise! 😄 Spoke too soon about the SIMD support in ghc. But's ok, I am sure Ben Gamari will figure it out. |
Hi!
I was wondering if there were any specific plan to implement SIMD instructions. I've been playing around with them in the context of the
dense-linear-algebra
library, and they seem to be fundamental to reach BLAS-like performance. I was wondering if you were planning to introduce SIMD tomassiv
?The text was updated successfully, but these errors were encountered: