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

make install doesn't install fortran modules #377

Open
ye-luo opened this issue Aug 7, 2021 · 5 comments
Open

make install doesn't install fortran modules #377

ye-luo opened this issue Aug 7, 2021 · 5 comments

Comments

@ye-luo
Copy link

ye-luo commented Aug 7, 2021

Was using 3.1.0 release.

make install does install the library file libwannier.a.
Q1 Is this with MPI or without? Or maybe there is no bits in libwannier.a at all?

The major issue is w90_io.mod is not installed. please install both serial and MPI versions.

@giovannipizzi
Copy link
Member

Hi, the library mode only works in serial for now.
We're undergoing a major refactoring of essentially all code to remove use public variables - without this, it's not possible to have an effective parallel library mode.

Regarding the .mod file - is this really needed? I thought having the executable was enough to execute the code. Or you need it when using the code in library mode? The .mod file is however compiler-specific, is it a good idea to "install" it? Can you please report an error that complains for the .mod file being not there, so we understand in more detail when installing this is needed? Thanks

@ye-luo
Copy link
Author

ye-luo commented Aug 9, 2021

In QE, EPW code needs wannier90 as a library right now internally.
When it is used as an internal library, QE just download/clone and build wannier90 inside QE. This works fine.

Since wannier90 has a library mode, I'm trying to connect this mode to QE and allow using wannier90 as an external pre-installed libraries. https://gitlab.com/QEF/q-e/-/merge_requests/1527
The reason this mode is desired because wannier90 release tar ball is not light. So QE can just download it at configure without shipping it. However, users may not have access to internet on the machine. So using per-installed wannier90 is one option.

Because EPW code use w90_io.mod from wannier90, users need to compile and link wannier90 with both module files and library files. However I didn't find the module files in the library mode installation.
If these modules are not supposed be accessed when using wannier90 as a library, then EPW team may need to adjust their use of wannier90 by connecting to the right set of APIs from wannier90. Otherwise, such module files needs to be made available at installation. Just like in C, need both header files and library binaries.

Managing the compiler dependency of fortran modules is users' responsibility. Not a concern here.
I don't have an answer but my guess is the QE EPW code probably only need serial wannier90 library. So the serial module file may be OK.

@giovannipizzi
Copy link
Member

Pinging @sponce24 as a representative EPW developer for comments if any

@hjunlee
Copy link
Contributor

hjunlee commented Aug 11, 2021

Dear Ye Luo:

Thank you for valuable suggestions.

We, EPW team, need a parallel version of W90 library; the only reason to use a serial version is that as Giovanni said, currently the W90 library mode doesn't work in parallel.
Initially I planned to implement it myself, but I stopped doing it after knowing that the W90 team is working on it.

I will explore your suggestion about the modification on EPW's side, but personally I think that (if really needed) appropriate changes should be made in W90 and I want to wait for the new library mode from the W90 team and adapt the EPW code to it.

Sincerely,

Hyungjun Lee

@giovannipizzi
Copy link
Member

Pinging @JeromeCCP9 who's working on the Makefile

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

No branches or pull requests

5 participants