1
$\begingroup$

Are there any high performance integer BLAS libraries that implement matrix multiplication i.e. i32gemm and i64gemm ? I need to use them for a cryptographic application and can tolerate overflows, i.e. I don't require the kernel to do any wraparound checks.

The difference between a Igemm and an Fgemm is that the latter retains the higher order bits and the previous retains the lower-order ones. My application would be performing computations on ciphers and not on the actual data. Since the data is selected in such a way that none of the elements of the product matrix (which are all signed) need more than 32 bits, the application can tolerate overflows on the ciphers.

$\endgroup$

1 Answer 1

-1
$\begingroup$

I think cuBLAS and OpenCL are the libraries you are looking for.

$\endgroup$
3
  • $\begingroup$ The difference between a Igemm and an Fgemm is that the latter retains the higher order bits and the previous retains the lower-order ones. My application requires the lower-order bits only. I've given more context in the question. $\endgroup$
    – kesari
    Aug 12, 2017 at 15:33
  • $\begingroup$ NVIDIA claims that cuBLAS supports half-precision (FP16) and integer (INT8) matrix multiplication operations. I think it is worth exploring the library. If it does not provide explicit functionality for igemm, you can develop customised subroutines for igemm following their source code. $\endgroup$
    – Chenna K
    Aug 12, 2017 at 17:05
  • $\begingroup$ Yes, but I need more than 8 bits to represent the data and FP16 is already out of question ;). $\endgroup$
    – kesari
    Aug 13, 2017 at 14:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.