-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update compilation flags for MKL/LAPACK #114
Comments
I think we will need to adjust the automatic test cases with the update. What's the difference between -mkl and -qmkl? |
It seems that intel is deprecating ifeq '$(WITH_MKL)''y'
ifeq '$(FC)''gfortran'
MACROS += -DHAS_MKL -DHAS_LAPACK
LIBS += $(LIB_BLAS) $(LIB_LAPACK)
else #ifort
MACROS += -DHAS_MKL -DHAS_LAPACK
FFLAGS += -mkl
endif
endif I think that |
Feel free to modify the makefile to something that works. About the exact name of the flag in makefile, you can also change the WITH_MKL to WITH_LAPACK. If you do it, please, update the automated workflow, (which uses WITH_MKL now) and add this info to the manual (I think it is missing now). Thanks. |
Checking the tests I have realized that we never test the combinations gfortran/mkl and ifort/no mkl: strategy:
fail-fast: true
matrix:
compiler: ['gfortran', 'ifort']
mode: ['RELEASE']
comm: ['SEQUENTIAL']
enable_threads: ['YES']
mkl: ['y','n']
exclude:
- compiler: gfortran
mode: RELEASE
comm: SEQUENTIAL
enable_threads: YES
mkl: 'y'
- compiler: ifort
mode: RELEASE
comm: SEQUENTIAL
enable_threads: YES
mkl: 'n' I am confused about this issue, I don't know what is the reason to combine MKL and LAPACK in the same flag. LAPACK is used only in If we split the
We could then test only gfortran/lapack and ifort/mkl to avoid increasing the testing time. |
I created the test, and I don't remember exactly why I did that. However, I have the following suspicion: About the MKL vs LAPACK thing, I didn't know there where separated in the code. I added the MKL flag just to be able to use LAPACK routines. |
The current Makefile does not work with these flags:
There is also a compilation warning with:
I propose changing the flag to something like WITH_LAPACK, using MKL for ifort and LAPACK for gfortran. The warning is easily fixed by changing the compilation flag from -mkl to -qmkl.
The text was updated successfully, but these errors were encountered: