-
Notifications
You must be signed in to change notification settings - Fork 26
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
Integer matrices #24
Comments
It's pretty far from what we are focusing on, maybe it's simple to plug into the existing code? |
Experiment for fun https://github.com/bluss/matrixmultiply/compare/i32-gemm-experiment?expand=1 |
@SuperFluffy do you have any good docs on integer gemm? It seems a bit fraught, like the wraparound problems especially with large matrices, there must be many good reasons it's not often implemented. |
@bluss Here is the doc for the One of the few documents talking about it is this here: http://www.netlib.org/utk/people/JackDongarra/WEB-PAGES/Batched-BLAS-2017/talk12-gurney.pdf
They note:
And then on page 13/15:
The arraymancer library for nim has implemented integer gemm here: mratsim/Arraymancer@654c89e. Discussions can be found here: mratsim/Arraymancer#25, mratsim/Arraymancer#6. They also have integer gemv here: mratsim/Arraymancer@a5e79d9 EDIT: Intel MKL implements Note, that's a |
Oh saturation! Good to know. Thanks for the details! |
Note the comment at the bottom of the API doc (emphasis mine):
Also, I edited my comment above: Intel only supports |
What a bunch of hacks upon hacks |
I have found mention of integer gemm in the context of BLIS, but it looks like nothing came of it: https://groups.google.com/forum/#!topic/blis-devel/qA00lB2yGY0 |
Would it be possible to make just the fallback implementation available for more types as a first step? |
Would you consider also implementing matrix multiplication for integer matrices, or do you want to keep this purely floating point?
The text was updated successfully, but these errors were encountered: