2015-10-28 27 views
5

In SGE/PBS kann ich ausführbare Binärdateien genau wie lokal an den Cluster senden. Zum Beispiel:Ausführen einer Binärdatei ohne ein Skript der obersten Ebene in SLURM

würde einen Job mit dem Namen echo übergeben, der das Wort "Hallo" in seine Ausgabedatei schreibt.

Wie kann ich SLURM einen ähnlichen Job übergeben? Es erwartet, dass die Datei einen Hash-Bang-Interpreter in der ersten Zeile hat.

$ qsub echo hello 
There was an error running the SLURM sbatch command. 
The command was: 
'/cm/shared/apps/slurm/14.11.3/bin/sbatch echo hello 2>&1' 
and the output was: 
'sbatch: error: This does not look like a batch script. The first 
sbatch: error: line must start with #! followed by the path to an interpreter. 
sbatch: error: For instance: #!/bin/sh 
' 

Ich will nicht schreiben Skript, setzte #!/bin/bash an der Spitze und mein Befehl in der nächsten Zeile und dann legt sie: Auf SLURM I

$ sbatch echo hello 
sbatch: error: This does not look like a batch script. The first 
sbatch: error: line must start with #! followed by the path to an interpreter. 
sbatch: error: For instance: #!/bin/sh 

oder mit dem pseuodo qsub erhalten sabbern. Gibt es eine Möglichkeit, diese zusätzliche Arbeit zu vermeiden? Es muss einen produktiveren Weg geben.

Antwort

7

Sie können den Befehl --wrap verwenden, um den Befehl automatisch in ein Skript zu schreiben.

so etwas wie:

sbatch --wrap="echo hello"

+0

Great! Es klappt. – highBandWidth

+0

Gibt es etwas wie '--wrap' für' srun'? Für meinen Anwendungsfall benötige ich einen Blockierbefehl. – landau