Skip to content

quantumespresso.py: Ifort compiler needs -assume byterecl#1556

Merged
bartoldeman merged 1 commit intoeasybuilders:developfrom
akesandgren:fix-quantumespresso-intel-builds-missing-byterecl
Oct 25, 2018
Merged

quantumespresso.py: Ifort compiler needs -assume byterecl#1556
bartoldeman merged 1 commit intoeasybuilders:developfrom
akesandgren:fix-quantumespresso-intel-builds-missing-byterecl

Conversation

@akesandgren
Copy link
Copy Markdown
Contributor

@akesandgren akesandgren commented Oct 24, 2018

See install/configure for the default settings.

Should fix Intel builds of easybuilders/easybuild-easyconfigs#6593

@boegel
Copy link
Copy Markdown
Member

boegel commented Oct 24, 2018

@akesandgren Can you clarify why this hasn't been a problem up until now? We have a bunch of easyconfigs for QE with intel already...

@bartoldeman
Copy link
Copy Markdown
Contributor

This may actually solve a longstanding ticket we have here about the use of EPW
They tried the examples downloaded from https://github.com/QEF/q-e/releases/tag/qe-6.3 .
Both "/test-suite/epw_metal" and "epw_base". crashed with the error in epw.out


 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      task #         8     from readwfc : error #        20
    error opening wfc file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@bartoldeman bartoldeman self-assigned this Oct 24, 2018
@bartoldeman
Copy link
Copy Markdown
Contributor

will check this out tomorrow if it fixes our issues with EPW.

@migueldiascosta
Copy link
Copy Markdown
Member

@bartoldeman yes, this should fix the epw test-suite issue, at least it did for me

@migueldiascosta
Copy link
Copy Markdown
Member

@boegel the inconsistency within each build comes from epw defining the record length, in EPW/src/readwfc.f90, differently from the rest of QE, in Modules/io_files.f90. In particular, QE gets the DIRECT_IO_FACTOR with INQUIRE while epw uses a define that assumes the record length is in bytes.

But I think this does mean that the direct access unformatted files created from builds with and without -assume byterecl are incompatible. The reason why it's usually not an issue is probably that these direct access files, the "distributed" wavefunctions, are typically used in intermediate steps of the same workflow. The "collected" wavefunctions are formatted and not affected by this...

@migueldiascosta
Copy link
Copy Markdown
Member

actually, where INQUIRE is used it should be compatible regardless of -assume byterecl, e.g. for double precision it will return 2 (4-byte words) without the flag and 8 (bytes) with it, so the flag is only needed where DIRECT_IO_FACTOR is defined instead of inquired. That seems to be only in epw...

@migueldiascosta
Copy link
Copy Markdown
Member

QEF/q-e@1b50a03

"Preprocessed variable DIRECT_IO_FACTOR replaced by a standard fortran call to "inquire". Obsolete for PWscf but still used by postprocessing and phonons. To be tested. To be done: EPW, containing several such preprocessed variables."

@akesandgren
Copy link
Copy Markdown
Contributor Author

The shorter summary is that it has always been a problem but nobody noticed...
QME itself always used byterecl, we (I) just forgot to make sure we did the same thing.

@bartoldeman
Copy link
Copy Markdown
Contributor

make run-custom-test testdir=epw_base
now gives me:
All done. 13 out of 13 tests passed.
whereas before, All done. ERROR: only 6 out of 13 tests passed..

@bartoldeman bartoldeman self-requested a review October 25, 2018 16:43
Copy link
Copy Markdown
Contributor

@bartoldeman bartoldeman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, after testing

@bartoldeman bartoldeman merged commit 5ec5192 into easybuilders:develop Oct 25, 2018
@akesandgren akesandgren deleted the fix-quantumespresso-intel-builds-missing-byterecl branch October 25, 2018 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants