я написал сценарий питона, который требует два аргумента и работает нормально, когда я запускаю его в командной строке с:Передача аргументов питона сценария в SLURM пакетного сценария
pythonscript.py arg1 arg2
мне нужно для запуска этого в пакетном скрипте SLURM, но всякий раз, когда я это делаю, я получаю ошибку «незаконной инструкции» и дамп ядра. Это пример сценария, я использую:
#!/bin/bash
# Set your minimum acceptable walltime, format: day-hours:minutes:seconds
#SBATCH --time=0-00:30:00
# Set name of job shown in squeue
#SBATCH --job-name pythonscript
# Request CPU resources
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=1
# Memory usage (MB)
#SBATCH --mem-per-cpu=3000
# Use modules to set the software environment
module purge
module load python/2.7.8-gcc
pythonscript.py arg1 arg2
Я потратил много времени, пытаясь выяснить, что именно является причиной дампов, и это то, что я сузил его до , Он только сбой при запуске из пакетного скрипта и только тогда, когда я пытаюсь запустить скрипт с аргументами. Когда я изменяю его для запуска без аргументов, он работает правильно. Может ли кто-нибудь сказать мне, как передать эти аргументы моему скрипту python в сценарии SLURM?
Не могли бы вы запустить 'gdb' и добавить backtrace к своему сообщению? Также имеет ли pythonscript.py путь к исполняемому файлу python, жестко закодированный с помощью hashbang на первой строке? –
Если бы я знал, где SLURM сбрасывает ядра. Они не в моем рабочем каталоге, и я все еще жду, чтобы услышать от человека HPC. Я действительно разобрался, почему происходит дамп ядра, и он связан с попыткой импортировать недавно установленный модуль. Он отлично работает на узле входа, но не на вычислительном узле. Я не уверен в этом, если аргументы являются проблемой или нет. Сценарий python имеет путь к исполняемому файлу с жестким кодом с hashbang. – Jiffy