# PLASMA usage (Linear algebra routines that supports multithreading)

I have been looking for linear algebra libraries that support multithreading. I have found PLASMA which looks promising. It is from the same group that developed LAPACK.

http://icl.cs.utk.edu/projectsfiles/plasma/html/InstallationGuide.html

https://icl.utk.edu/projectsfiles/plasma/pdf/users_guide.pdf

However, it doesn't seem to be very well maintained/documented which is surprising. For instance, I was unable to find the user-forum to ask questions.

I have been able to install the library correctly. I created a mybuild directory and used cmake to install.

debasish@debasish-HP-Z840:~/Desktop/softwares/plasma-20.9.20/mybuild$ls CMakeCache.txt CMakeFiles cmake_install.cmake libplasma_core_blas.so libplasma.so Makefile plasmatest Next, I am able to run tests as following: debasish@debasish-HP-Z840:~/Desktop/softwares/plasma-20.9.20/mybuild$ ./plasmatest dgesv

Status Error Time Gflop/s n nrhs nb ib padA padB mtpf

pass 1.28e-19 0.1492 17.8622 1000 1000 256 64 0 0 1

However, I am unsure how to use these libraries in my own code.

Sorry, in the absence of any documentation I am unable to be more specific but I thought I will give it a try here. In general, I am not good at using libraries without comprehensive documentation.

• in many cases, LAPACK actually supports multithreading, mostly through BLAS but some vendors also distribute multithreaded versions for some routines, before you spend effort including PLASMA in your code, it might be worth a look whether the multithreading there is sufficient Jul 5 at 20:13
• I think, you just found an outdated web page. Currently, the repository is found here: bitbucket.org/icl/plasma/src/main with info about assistance bitbucket.org/icl/plasma/src/main/…
– Bort
Jul 5 at 20:17
• @bort I am aware of the bitbucket page. icl.bitbucket.io/plasma and then icl.bitbucket.io/plasma/doxygen leads to "File not found" Also clicking on "groups.google.com/a/icl.utk.edu/forum/#!forum/plasma-user" leads to nowhere. it says "Content unavailable" Jul 5 at 20:44
• @Thjis Thank you. I am aware of this as well but I wanted to use plasma (for higher performace) and not lapack multithreading through blas multithreading. Jul 5 at 20:46
• @DebasishDas, the link icl link icl.bitbucket.io/plasma is already the doxygen documentation. And yes, the doxygen link on that page itself is broken (since it should point onto itself but doesn't). I haven't tried using my google account for entering the plasma user group so I cannot help you there. Anyways, you can contact someone from the maintainer to help you setup with forum / group / slack or whatever they are using.
– Bort
Jul 5 at 21:06