GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie die Bash-Variable innerhalb des SLURM-Sbatch-Skripts

Slurm beendet die Verarbeitung von #SBATCH Direktiven in der ersten Zeile des ausführbaren Codes in einem Skript. Für Benutzer, deren #SBATCH Direktiven hängen nicht von dem Code ab, den sie über diesen Direktiven auszuführen versuchen, setzen Sie einfach die #SBATCH Zeilen oben.

Sehen Sie sich die andere Antwort für eine Problemumgehung/Lösung an, wenn Ihre Sbatch-Optionen wie bei OP von den Befehlen abhängen, die Sie darüber platziert haben.

Das Stapelskript kann Optionen enthalten, denen "#SBATCH" vor allen ausführbaren Befehlen im Skript vorangestellt ist . sbatch stoppt die Verarbeitung weiterer #SBATCH-Anweisungen, sobald die erste Nicht-Kommentar-Nicht-Leerzeichen-Zeile im Skript erreicht wurde.

Aus den Sbatch-Dokumenten, meine Betonung.


Das wird nicht funktionieren. Was passiert, wenn Sie

ausführen

sbatch myscript.sh

ist, dass slurm das Skript nach diesen speziellen #SBATCH-Zeilen analysiert, einen Job-Datensatz generiert und das Batch-Skript irgendwo speichert. Das Batch-Skript wird erst später ausgeführt, wenn der Job ausgeführt wird.

Sie müssen Ihren Workflow also etwas anders strukturieren und zuerst die Anzahl der benötigten Prozesse berechnen, bevor Sie den Job absenden. Beachten Sie, dass Sie so etwas wie

verwenden können

sbatch -n $numProcs myscript.sh

, müssen Sie das Skript nicht automatisch generieren (außerdem sollte mpirun in der Lage sein, die Anzahl der Procs in Ihrer Zuweisung automatisch zu erhalten, ohne dass "-np" verwendet werden muss).


Linux
  1. Curl-Outfile-Variable funktioniert nicht in Bash-Skript?

  2. Ungewöhnliche Möglichkeiten, Variablen in Bash-Skripten zu verwenden

  3. Verwenden Sie Expect in einem Bash-Skript, um einem SSH-Befehl ein Kennwort bereitzustellen

  4. Automatische Docker-Anmeldung innerhalb eines Bash-Skripts

  5. So verwenden Sie den Quellbefehl im Jenkins-Pipeline-Skript

Verwenden Sie dieses hilfreiche Bash-Skript, wenn Sie Sterne beobachten

Bash-Exportvariable

35 Bash-Skriptbeispiele

So führen Sie ein Bash-Skript aus

Öffnen Sie Vim aus einem Bash-Shell-Skript heraus

Exportieren Sie eine Variable aus Bash und verwenden Sie sie in Python