Skip to content
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

Wrong OpenMP linking with ifort #1

Open
uihsnv opened this issue Apr 4, 2018 · 9 comments
Open

Wrong OpenMP linking with ifort #1

uihsnv opened this issue Apr 4, 2018 · 9 comments

Comments

@uihsnv
Copy link
Contributor

uihsnv commented Apr 4, 2018

python setup --fc=ifort --cmake-options="-D MATH_LIB_SEARCH_ORDER='MKL'"  build_ifort_mkl

generates the wrong OpenMP link options in the file:

./build_ifort_mkl/src/CMakeFiles/dsyevr_check.dir/link.txt

It should be using -qopenmp, because I'm using an intel compiler of version 18.0.

This looks an issue with autocmake. The following file should take care of that, but is there some reason it isn't?

https://github.com/coderefinery/autocmake/blob/master/modules/omp.cmake

@miroi
Copy link
Owner

miroi commented Apr 4, 2018

Hi,
I haven't checked it yet, maybe it's an autocmake issue. BTW, Rado ( @bast ) , the macro https://github.com/coderefinery/autocmake/blob/master/modules/omp.cmake should properly identify Intel version 18 ?

Hmm, looking into https://github.com/coderefinery/autocmake/blob/master/modules/omp.cmake#L54 is the CMake variable "${CMAKE_Fortran_COMPILER_VERSION}" always properly filled ? CMake identification of Fortran compilers version does not always work, that's why we have python macro for doing that.

@bast
Copy link

bast commented Apr 4, 2018

What CMake version are you using?

@uihsnv
Copy link
Contributor Author

uihsnv commented Apr 4, 2018

@bast 3.10.3

@bast
Copy link

bast commented Apr 4, 2018

And what flags do you get?

@uihsnv
Copy link
Contributor Author

uihsnv commented Apr 4, 2018

The other one for the older versions of the Intel compiler: -openmp

@miroi btw, what exactly does this bug affect? Are eigenvalues unaffected? Is it only the eigenvectors? And are all eigenvectors wrong?

@bast
Copy link

bast commented Apr 4, 2018

What confuses me here is that the OMP module is not used at all in this project. But perhaps you have added it in some other fork or local repository?

@bast
Copy link

bast commented Apr 4, 2018

Also I cannot reproduce it. On CMake above 3.4, it should not go into any of the ifs since it has support for Fortran OMP flags.

@miroi
Copy link
Owner

miroi commented Apr 5, 2018

@uihsnv see updated https://github.com/miroi/lapack-dsyevr-test/blob/master/README.rst . This bug affects eigenvectors; IMO, each DSYERV implementation should be checked.

@uihsnv
Copy link
Contributor Author

uihsnv commented Apr 5, 2018

@bast Nope. I made no changes to this; I just cloned it and ran it as described in the README.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants