HPC/Applications/quantum-espresso: Difference between revisions
< HPC | Applications
Jump to navigation
Jump to search
m (→Limitations) |
mNo edit summary |
||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
[http://www.quantum-espresso.org/ Quantum ESPRESSO] is a suite of several programs working on the same data files. | [http://www.quantum-espresso.org/ Quantum ESPRESSO] is a suite of several programs working on the same data files. | ||
This brings with it some challenges for data management | This brings with it some challenges for data management. | ||
* A sample job file is at the customary location once the quantum-espresso [[HPC/Module Setup|module is loaded]]. | * A sample job file is at the customary location once the quantum-espresso [[HPC/Module Setup|module is loaded]]. | ||
$QUANTUM_ESPRESSO_HOME/sample.job | $QUANTUM_ESPRESSO_HOME/sample.job | ||
* Remove the large and numerous wave function files *.wfc* when you no longer need them. | |||
== Limitations == | == Limitations == | ||
* QE stores rather large wave function files in the directory specified by <code>outdir</code> or the <code>ESPRESSO_TMPDIR</code> environment variable. This may unduly tax the file server. | * QE stores rather large wave function files in the directory specified by <code>outdir</code> or the <code>ESPRESSO_TMPDIR</code> environment variable. This may unduly tax the file server. | ||
* Wave function files from parallel runs are written separately by each MPI process and are named <code>''prefix''.wfc''n''</code> with sequential integers ''n''. Subsequent calculations must use the exact same number of MPI processes, and each process must have access to its own ''n''. (That means using a node-local directory for those files is overly difficult because a dispatch stage would be needed to supply each node with the proper subset of files.) | |||
* Wave function files from parallel runs are | * In a subdirectory <code>''prefix''.save/</code> the main QE program pw.x stores important metadata needed for subsequent calculations such as a DOS calculation. This means the <code>…TMP</code> part in the name <code>ESPRESSO_TMPDIR</code> is rather misleading. | ||
* QE expects | * QE expects a non-trivial value of <code>ESPRESSO_PSEUDO</code> to terminate with a slash <code>/</code>. The pw.x binary manages to accept a value without a terminating slash, but other executables such as dos.x fail. <!-- This is counter to Unix best practice, and counter to "." being accepted just fine. --> | ||
=== Changes === | === Changes === | ||
As of module version '''quantum-espresso/4.3.2-2''': | As of module version '''quantum-espresso/4.3.2-2''': | ||
* | * Given the problems above, the environment variable <code>ESPRESSO_TMPDIR</code> is ''no longer set''. | ||
* The value of <code>ESPRESSO_PSEUDO</code> now ends with a slash. Unfortunately, the new value will be of no help for older calculations since <code>''prefix''.save/data-file.xml</code> enshrines the old value. To continue with an older calculation: | * The value of <code>ESPRESSO_PSEUDO</code> now ends with a slash. Unfortunately, the new value will be of no help for older calculations since <code>''prefix''.save/data-file.xml</code> enshrines the old value. To continue with an older calculation: | ||
*: <source lang="bash">perl -i.bak -pe 's{/opt/soft/quantum-espresso-pot/pseudo$}{$&/}' */data-file.xml</source> | *:: <source lang="bash">perl -i.bak -pe 's{/opt/soft/quantum-espresso-pot/pseudo$}{$&/}' */data-file.xml</source> | ||
*: There will not be any output, but you can inspect the changes: | *: There will not be any output, but you can inspect the changes if you're curious: | ||
*: <source lang="bash">for i in */data-file.xml; do diff $i.bak $i; done</source> | *:: <source lang="bash">for i in */data-file.xml; do diff $i.bak $i; done</source> |
Revision as of 22:43, January 18, 2013
Introduction
Quantum ESPRESSO is a suite of several programs working on the same data files. This brings with it some challenges for data management.
- A sample job file is at the customary location once the quantum-espresso module is loaded.
$QUANTUM_ESPRESSO_HOME/sample.job
- Remove the large and numerous wave function files *.wfc* when you no longer need them.
Limitations
- QE stores rather large wave function files in the directory specified by
outdir
or theESPRESSO_TMPDIR
environment variable. This may unduly tax the file server. - Wave function files from parallel runs are written separately by each MPI process and are named
prefix.wfcn
with sequential integers n. Subsequent calculations must use the exact same number of MPI processes, and each process must have access to its own n. (That means using a node-local directory for those files is overly difficult because a dispatch stage would be needed to supply each node with the proper subset of files.) - In a subdirectory
prefix.save/
the main QE program pw.x stores important metadata needed for subsequent calculations such as a DOS calculation. This means the…TMP
part in the nameESPRESSO_TMPDIR
is rather misleading. - QE expects a non-trivial value of
ESPRESSO_PSEUDO
to terminate with a slash/
. The pw.x binary manages to accept a value without a terminating slash, but other executables such as dos.x fail.
Changes
As of module version quantum-espresso/4.3.2-2:
- Given the problems above, the environment variable
ESPRESSO_TMPDIR
is no longer set. - The value of
ESPRESSO_PSEUDO
now ends with a slash. Unfortunately, the new value will be of no help for older calculations sinceprefix.save/data-file.xml
enshrines the old value. To continue with an older calculation:perl -i.bak -pe 's{/opt/soft/quantum-espresso-pot/pseudo$}{$&/}' */data-file.xml
- There will not be any output, but you can inspect the changes if you're curious:
for i in */data-file.xml; do diff $i.bak $i; done