You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe
AiiDA requires computers and codes to be set up individually for each profile, which can be a significant amount of hassle for new users - and also unnecessary.
For a given computational environment, all the required parameters (how to connect to the computer; which packages are available, etc.) can be known, and the setup can be automated entirely (e.g. this prototype already goes into this direction).
However, many codes have more than one binary, and fully automating this approach requires maintaining a mapping between CalcJob input plugin and executable name.
One can maintain this mapping separately, but wouldn't it be much nicer if the CalcJob input plugin knew which (default) executable name it expected?
Describe the solution you'd like
For many simulation codes (not all [1]), the name of the executable that goes with a specific input plugin is either constant (pw.x) or can be guessed based on input parameters (e.g. vasp_std, vasp_gam, vasp_ncl).
Assuming that this executable will be found in the PATH (e.g. via a module load), it would therefore be possible to allow users to skip specifying the executable explicitly when setting up a code for that input plugin.
This would not worsen provenance, since the input script is still stored (and generated from the calculation inputs).
[1] There are more complicated cases, like cp2k, where the executable name may vary depending on OpenMP support (or, say, CUDA support, etc.), and determining the executable intended by the user would involve mind reading. I suspect it is the minority of cases, though.
ltalirz
changed the title
idea: CalcJob input plugin can specify default name of executable
idea: CalcJob input plugin can specify default name of executable in codeinfo.json, if not provided by user
Mar 23, 2023
Is your feature request related to a problem? Please describe
AiiDA requires computers and codes to be set up individually for each profile, which can be a significant amount of hassle for new users - and also unnecessary.
For a given computational environment, all the required parameters (how to connect to the computer; which packages are available, etc.) can be known, and the setup can be automated entirely (e.g. this prototype already goes into this direction).
However, many codes have more than one binary, and fully automating this approach requires maintaining a mapping between CalcJob input plugin and executable name.
One can maintain this mapping separately, but wouldn't it be much nicer if the CalcJob input plugin knew which (default) executable name it expected?
Describe the solution you'd like
For many simulation codes (not all [1]), the name of the executable that goes with a specific input plugin is either constant (
pw.x
) or can be guessed based on input parameters (e.g.vasp_std
,vasp_gam
,vasp_ncl
).Assuming that this executable will be found in the PATH (e.g. via a
module load
), it would therefore be possible to allow users to skip specifying the executable explicitly when setting up a code for that input plugin.This would not worsen provenance, since the input script is still stored (and generated from the calculation inputs).
[1] There are more complicated cases, like cp2k, where the executable name may vary depending on OpenMP support (or, say, CUDA support, etc.), and determining the executable intended by the user would involve mind reading. I suspect it is the minority of cases, though.
Describe alternatives you've considered
This is just a first thought.
Comments @sphuber ?
The text was updated successfully, but these errors were encountered: