support for cublasGemmEx

325 views
Skip to first unread message

William Tambellini

unread,
Feb 14, 2017, 2:29:03 PM2/14/17
to ArrayFire Users
Hi everybody

I see from
http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#axzz4YgnUYONY
"
cuBLAS. The cuBLAS library added a new function cublasGemmEx(), which is an extension of cublas<t/>gemm(). It allows the user to specify the algorithm, as well as the precision of the computation and of the input and output matrices. The function can be used to perform matrix-matrix multiplication at lower precision.

Read more at: http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#ixzz4Ygnv5ePl
"

What would it need for AF to be able to use that ?
Thanks
WT.

Pavan Yalamanchili

unread,
Feb 14, 2017, 5:18:33 PM2/14/17
to William Tambellini, ArrayFire Users
Hi William,

It depends on the type of data you are using. For 16 bit floats and 8bit signed integers, it will be a bit harder because arrayfire does not yet support those datatypes.

If you are using any other data type (including 8 bit unsigned integers), this is fairly easy to implement both internally and externally. You just need to get the cuda pointer out from arrayfire and pass it to the cublasGemmEx function.
 
--
You received this message because you are subscribed to the Google Groups "ArrayFire Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to arrayfire-use...@googlegroups.com.
To post to this group, send email to arrayfi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/arrayfire-users/fae6d6c1-8357-4f66-ac29-7273400c7120%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

William Tambellini

unread,
Feb 27, 2017, 3:49:31 PM2/27/17
to ArrayFire Users, william.t...@gmail.com
ok thanks.
I suppose there is no sync with openCL so no way to enhance AF API in order to set these option through AF::matmul() ?
Cheers
W.

Pavan Yalamanchili

unread,
Feb 27, 2017, 4:02:31 PM2/27/17
to William Tambellini, ArrayFire Users
Hi William,

We can have the other backends run in a loop. Alternatively we have header files exposing functions specific to each backend. We could add this function on there.

--
Pavan

Reply all
Reply to author
Forward
0 new messages