lattice / quda

QUDA is a library for performing calculations in lattice QCD on GPUs.
https://lattice.github.io/quda
Other
293 stars 99 forks source link

Magma support with MKL. #359

Closed cpviolator closed 4 years ago

cpviolator commented 9 years ago

On the TACC Stampede machine, the preferred BLAS libraries are MKL and BLIS. Atlas and LAPACK are not installed as modules and must therefore be built in project directories. Further, MKL offers significantly better performance on this machine.

I would like to try to get QUDA working on TACC stampede with Magma built with MKL. If at all possible, what steps would need to be taken to substitute the ATLAS and LAPACK dependencies in QUDA for MKL?

alexstrel commented 9 years ago

current MAGMA interface in develop or master branch does not use LAPACK explicitly, so all what is needed is to correctly link QUDA against MKL ( e.g., in https://github.com/lattice/quda/blob/develop/make.inc.in substitute lines 87-88 with path to MKL stuff and lines 185-186 for the linker). I presume you want to use deflation algorithms from QUDA? Otherwise you can deisable MAGMA at all. Note that GMRES-DR algorithm from feature/deflation does use lapack calls, so this should be changed, that is a good point for me to think about.

cpviolator commented 9 years ago

Thank you @alexstrel I do indeed wish to use the deflated solver. I will attempt to compile QUDA with a MAGMA library using MKL using your instructions and reply to this thread with results.

mathiaswagner commented 9 years ago

@alexstrel Is that now fixed in #365 ?

alexstrel commented 9 years ago

yes I think so, however, I did not try magma with the Intel library. QUDA magma interface itself is now agnostic to which x86-based library is used.

mathiaswagner commented 9 years ago

So, once we merged #365 can @cpviolator please check whether this is still an issue?

cpviolator commented 8 years ago

@mathiaswagner @alexstrel Absolutely. I'll be using TACC Stampede very soon so I'll reply to this thread with the results. Thank you!

cpviolator commented 8 years ago

@mathiaswagner @alexstrel Just compiled and tested multigrid_invert_test in quda-develop linked against magma-1.7.0 compiled with MKL. I used gcc/4.9.3 complier with gnu threads and made magma with the make.inc.mkl-gcc file. All good!

mathiaswagner commented 8 years ago

Thanks for testing. Did you also try cmake?

Autoconf is deprecated.

On Sep 23, 2016, at 07:28, Dean Howarth notifications@github.com<mailto:notifications@github.com> wrote:

@mathiaswagnerhttps://github.com/mathiaswagner @alexstrelhttps://github.com/alexstrel Just compiled and tested multigrid_invert_test in quda-develop linked against magma-1.7.0 compiled with MKL. I used gcc/4.9.3 complier with gnu threads and made magma with the make.inc.mkl-gcc file. All good!

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/lattice/quda/issues/359#issuecomment-249106243, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AETKL80parYryRBrDB_Tpc3LcZ0VY5c3ks5qs2OLgaJpZM4F0kke.

NVIDIA GmbH, Wuerselen, Germany, Amtsgericht Aachen, HRB 8361 Managing Director: Karen Theresa Burns


This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by

reply email and destroy all copies of the original message.

cpviolator commented 8 years ago

Yeah, I did try CMake with the magma install, but no luck there. I will play around with a second compilation using CMake now I know what the parameters should be and get back to you... a bit sooner than 10 months this time!

maddyscientist commented 4 years ago

Closing: we do not require MAGMA going forwards, and are working to remove this from QUDA since CUBLAS and Eigen provide all needed functionality.