CULA Bridge Interface available in Premium

General CULA Dense (LAPACK & BLAS) support and troubleshooting. Use this forum if you are having a general problem or have encountered a bug.

CULA Bridge Interface available in Premium

Postby kenhester » Tue Aug 17, 2010 1:08 pm

After reviewing the bridge interfaces available in the basic version on CULA 2.0, I really need to know what bridge functions are available in the premium release. Where can I find the bridge functions listed for premium?
kenhester
 
Posts: 3
Joined: Thu Aug 12, 2010 6:55 am

Re: CULA Bridge Interface available in Premium

Postby kyle » Tue Aug 17, 2010 1:11 pm

Every function in CULA premium has a bridge interface equivalent. The entire list of functions can be found here: http://www.culatools.com/features/lapack/

If there is function missing that you are looking for, please let us know!
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: CULA Bridge Interface available in Premium

Postby kenhester » Thu Aug 19, 2010 11:10 am

Thanks for the quick response. Would you know if the CULA package bridges any of the BLAS functions. As an example, I have often seen matrix multiple functions in CUDA, is this method bridged from the MKL mkl_blas.h

void cblas_cgemm(const CBLAS_ORDER Order, const CBLAS_TRANSPOSE TransA,
const CBLAS_TRANSPOSE TransB, const MKL_INT M, const MKL_INT N,
const MKL_INT K, const void *alpha, const void *A,
const MKL_INT lda, const void *B, const MKL_INT ldb,
const void *beta, void *C, const MKL_INT ldc);
kenhester
 
Posts: 3
Joined: Thu Aug 12, 2010 6:55 am

Re: CULA Bridge Interface available in Premium

Postby john » Fri Aug 20, 2010 6:15 am

Hello, while we do not provide Bridge conversions for BLAS routines, these are something you could add with little effort because the Bridge interface is provided as C code. Each routine Bridged only takes a few lines of code. Nvidia's CUBLAS has all the necessary implementations of things like GEMM, GEMV, TRSM, etc. That said, Bridging BLAS functions will potentially lead to poor performance because the time to allocate, transfer to GPU, compute, and transfer to the CPU is often longer than it would take MKL to perform the work on the host. Very large GEMM calls are a potential exception to this because their runtime (even accelerated) is still longer than the transfer and allocate times.
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

Re: CULA Bridge Interface available in Premium

Postby kenhester » Fri Aug 20, 2010 6:58 am

Your comment on size vs performance has been noted in some of my tests. As with the LAPACK, once the size of any one dimension exceeds 1024 elements GPU accelration becomes a benefit. With some larger datasets, its a dramatic improvement in performance. I see this same check in the LAPACK bridge code.

I was thinking other might have requested this type of bridging for some of there / our larger datasets and calculations.

Has anyone started a BLAS bridge over there that I can extend or use? I am focusing on Matrix calcs currently.
kenhester
 
Posts: 3
Joined: Thu Aug 12, 2010 6:55 am

Re: CULA Bridge Interface available in Premium

Postby kyle » Mon Aug 23, 2010 2:43 pm

We've decided to add CULA interfaces to the BLAS routines for the next release. We've had a number of requests recently and for some BLAS-3 routines the memory transfer performance hit should be minimal.
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: CULA Bridge Interface available in Premium

Postby poweroutlet566 » Thu Nov 18, 2010 5:56 pm

Thanks Kyle,

So this Bridge has been implemented in v2.1? Do you think it would be possible to make a .so file that appears like a normal libblas.so so it is somewhat transparent which version an author uses (whether they use CPU/GPU or a mix of both)?
poweroutlet566
 
Posts: 2
Joined: Thu Nov 18, 2010 1:37 pm


Return to CULA Dense Support

Who is online

Users browsing this forum: No registered users and 2 guests

cron