FAQ

Find answers to commonly asked questions about Quantum ESPRESSO.

1. What commands are used to run Quantum ESPRESSO?

Here is a list of the commands available to run Quantum ESPRESSO, in alphabetical order:

alpha2fband_interpolationbandsbse_maincasino2upf
cell2ibravcpcpppd3hessdos
dynmatdvscf_q2repsilonevfermi_proj
fermi_velocityfsfqhagwwgww_fit
headhpibrav2cellinitial_statekcw
kcwpp_interpkcwpp_shkpointslambdald1
manycpmatdynmolecularnexafsmolecularpdosneb
open_gridoscdft_etoscdft_pppath_interpolationpawplot
phphcgplotbandplotprojplotrho
ppppacfpostahcpostw90pw
pw2bgwpw2criticpw2gwpw2wannier90pw4gww
pwcondpwi2xsfpprismplan_avgprojwfc
q2qstarq2rrism1dscan_ibravsimple
simple_bsesimple_ipspectra_correctionsumpdosturbo_davidson
turbo_eelsturbo_lanczosturbo_magnonturbo_spectrumupfconv
virtual_v2wannier90wannier_hamwannier_plotwfck2r
wfddxspectra

2. Is Quantum ESPRESSO using MPI or OpenMP for parallel execution?

Our Quantum ESPRESSO build supports both MPI and OpenMP parallelization. The parallelization method depends on the binary you choose to run.

  • To use MPI, run the standard executable, e.g. pw.x. Inductiva will take care of setting the MPI configurations automatically for you, based on the machine you selected before.
  • To use OpenMP, run the executable with the _openmp suffix, e.g. pw_openmp.x.

This allows you to select the most suitable parallelization strategy for your simulation.


3. How does Inductiva implicitly set MPI configurations for me?

When you run a Quantum ESPRESSO simulation using the Inductiva API, the MPI settings are automatically configured based on the computational resources you choose. This means you donโ€™t need to manually set MPI parameters for each command, Inductiva handles it for you.

For example:

# Allocate a machine on Google Cloud Platform
cloud_machine = inductiva.resources.MachineGroup(
    provider="GCP",
    machine_type="c2d-highcpu-16",
    spot=True)

For this machine, Inductiva will automatically apply the following MPI configurations:

MPI ParameterValue
np16
use_hwthread_cpusTrue
  • np โ†’ Number of MPI processes
  • use_hwthread_cpus โ†’ Whether hyperthreading is enabled

These settings will be applied to all commands that support MPI, for example:

commands = [
    "pw.x -i Al_local_pseudo.in"
]

4. How can I explicitly configure my MPI settings?

When running Quantum ESPRESSO simulations, you can configure MPI settings by specifying the MPIConfig parameters in your computational resource.

Example:

# Allocate a machine on Google Cloud Platform
cloud_machine = inductiva.resources.MachineGroup(
    provider="GCP",
    machine_type="c2d-highcpu-4",
    spot=True)

# Configure MPI settings for the machine
mpi_config = inductiva.commands.MPIConfig(
    version="4.1.6",            # MPI version to use
    np=2,                       # Number of MPI processes
    use_hwthread_cpus=False)    # Whether to use hyperthreading

cloud_machine.set_mpi_config(
    mpi_config = mpi_config)

In this example, the specified MPI configuration will automatically be applied to all commands that support MPI.

For instance, a command like:

command = [
    "pw.x -i Al_local_pseudo.in"
]

will internally be executed as:

mpirun -np 2 --use-hwthread-cpus pw.x -i Al_local_pseudo.in

This ensures that the MPI settings are consistently applied across your Quantum ESPRESSO runs.



Still can't find what you're looking for? Contact Us