simfactory does not expand @MACHINE@ in the SubmitScript if submitted with option --submitscriipt

Issue #731 new
anonymous created an issue

In the submitscript template for supermuc there is a line as

[snip] @SIMFACTORY@ run @SIMULATION_NAME@ --machine=@MACHINE@ --restart-id=@RESTART_ID@ @FROM_RESTART_COMMAND@ [snip]

This line is then expanded during submit e.g. to

[snip] /home/hpc/pr32pi/lu32vak/Cactus-Simfact2-NewRepos/Cactus/simfactory/bin/sim run test_queue_40 --machine=supermuc --restart-id=0 [snip]

If I add

--submitscript <scriptfile>

to sim submit, this line looks as follows:

[snip] /home/hpc/pr32pi/lu32vak/Cactus-Simfact2-NewRepos/Cactus/simfactory/bin/sim run test_queue_40 --machine=@MACHINE@ --restart-id=0 [snip]

The submission command in my case was:

[snip] simfactory/bin/sim submit test_queue_40 --parfile=par/static_tov.par --configuration aliremote --procs=40 --submitscript configs/aliremote/SubmitScript --machine=supermuc --walltime 2:00:00 [snip]

So even with giving the regular SubmitScript file name to the option --submitscript will cause this error

Keyword:

Comments (5)

  1. Erik Schnetter
    • removed comment

    The option --submitscript should only be accepted when building a configuration. When creating or submitting a simulation, this stored submitscript should then be used. The reason is that submit script and run script often depend e.g. on the MPI version that is used while building, so they are not independent.

  2. Frank Löffler
    • removed comment

    Is there a --force option? If so, it would be a good idea to make it possible to use --submitscript while submitting when using --force. This would make testing much less painful and more intuitive.

  3. Roland Haas
    • removed comment

    It would be nice I think to evetually be able to change submit scripts for simulations that have already started (same as changing parfiles/executables etc. would be nice) for testing. It would then be nice if all option behave the same way independent of which simfactory sub-command is used. Ie. --submitscript behaved the same way for both create and submit sub-commands.

  4. Erik Schnetter
    • removed comment

    Simfactory should really abort with an error message if an option is used that doesn't match the command given.

    One of the main points of Simfactory is to be safe and easy to use. That implies that it shouldn't have many options that let people modify its behaviour in subtle ways. I would rather have a discussion on what a good behaviour is, and make this the default.

    I don't know what kind of testing you mean that is currently painful. If you mean testing new submission scripts, then you can do this by directly editing either the copy stored with the executable or the copy stored with the simulation; once you have something working, you clean it up and commit it. Compare this to editing a makefile directly within the source tree; Cactus doesn't have an option to override certain makefiles while building either.

    There is also a feature request to make Simfactory automatically update submit scripts etc. from the MDB.

  5. Erik Schnetter
    • removed comment

    To change a simulation we could introduce a "modify-simulation" command with a similar syntax to "create", except that it modifies a simulation that is currently inactive.

  6. Log in to comment