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
$\begingroup$

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

$\endgroup$
  • $\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 '17 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 '17 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 '17 at 14:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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