[Q-e-developers] Integrating OpenBLAS in QE and QE-GPU

Filippo Spiga spiga.filippo at gmail.com
Thu Dec 27 08:47:27 CET 2012


Dear all,

there are a non-zero number of users that continue to request information about how to compile and use QE mixing MPI, OpenMP and GPU. Speaking about "domestic" users (so people with workstations or small clusters), I see that most of the time they do not use Intel compilers or proper multi-threaded library. The compiler choice is a personal choice, QE should be able to provide the best performance in the wide range of situations.

I am going to integrate[*] OpenBLAS [1] in QE-GPU so people can efficiently exploit multi-threaded BLAS operations without using Intel MKL or ACML. This is very useful for people who run on their workstations but also very useful for research groups that do not want to buy the Intel compiler suite (so the MKL library). OpenBLAS is a open-source project started when GotoBLAS [2] has stopped to be maintained and developed by TACC (basically the guy who was in charge left/changed his job). Zhang Xianyi, research associate of the Institute of Software, Chinese Academy of Sciences [3] is the main developer. 

It is quite interesting the fact that a specific branch of the main code targets explicitly Intel Sandy Bridge processors. They claim to achieve (almost) the same performance of MKL (in multi-threading mode). Here the reason why I think it could be a good idea to extend the integration to the main distribution.

I do already have a modified code that works (the GPU does not matter in this case). I do not have access to a huge range of Intel systems where I can test the library properly before push in QE-GPU (and eventually in QE). If someone is interested to give it a try please do not hesitate get in contact with me :-)

Cheers,
Filippo

[*]: when I say "integrate" I mean that the code will be able to download, configure, compile the library and link it to the QE code properly without any human intervention. Same thing that is already happening now for phiGEMM or MAGMA which are two external libraries for QE-GPU.

[1] https://github.com/xianyi/OpenBLAS/tree/master#readme
[2] http://www.tacc.utexas.edu/tacc-projects/gotoblas2
[3] http://www.rdcps.ac.cn/en_version/index.htm

--
Mr. Filippo SPIGA, M.Sc.
http://filippospiga.me ~ skype: filippo.spiga

«Nobody will drive us out of Cantor's paradise.» ~ David Hilbert

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20121227/79f702f4/attachment.html>


More information about the developers mailing list