clMathLibraries / clBLAS

a software library containing BLAS functions written in OpenCL
Apache License 2.0
839 stars 240 forks source link

clLAPACK ? #56

Closed KCErb closed 9 years ago

KCErb commented 9 years ago

Hi all,

Just a quick question: are there plans for an openCL implementation of LAPACK (or CLAPACK)? Or is that unnecessary? Seems to me that LAPACK is just calling on BLAS, so if you point it at clBLAS it will get all of the HSA goodness you could want.

I'm not an expert on this stuff so I thought I'd ask the experts.

What do you think?

skn123 commented 9 years ago

Hi KCErb, You hace clMagma that does that. Check out my github account and I have ported clMagma using CMake. Besides that, you also have ViennaCL to help you with LAPACK style routines

TimmyLiu commented 9 years ago

Hi skn123,

Great effort porting clMagma with cmake! I am not sure if you know clMagma is open sourced and hosted on bitbucket at https://bitbucket.org/icl/clmagma ? Have you tried building the latest clmagma source with cmake? One thing I know is they are (or have?) getting rid of cblas dependency.

skn123 commented 9 years ago

Sigh! But atleast that gives me scope to update clMagma. Whereas Magma Cuda was regularly updated, clMagma had little work. Thanks for pointing out the link. Let me fork that out on Github and build it. If they are getting rid of clBlas, then it would be even better! clBlas can live independently. Moreover, clMagma is primarily focused on Dense matrices with no effort for sparse matrices. ViennaCL would be a better place to hook up clBlas

TimmyLiu commented 9 years ago

I meant they are getting rid of cblas dependency (like OpenBlas) but not clblas.

KCErb commented 9 years ago

Thanks for the tips! I've looked through both libraries and they both seem fine. Any idea of important differences? My long-term goal is to get a Ruby FFI doing HSA-based Linear Algebra. I think there's a long road ahead (seeing as how I don't really speak C right now) but can you comment on differences between the two?

skn123 commented 9 years ago

KCerb, you would need Ruby bindings for these libraries; I am not sure if they have any. The closest you could get would be python bindings

KCErb commented 9 years ago

Some do exist! The amazing @kerilk made these.

And I'll be writing some of my own to interface with clBLAS now that I see a path through the woods.

Thanks for your responses and discussion, closing since my question is answered.