2015-07-06 5 views
0

я написал сценарий питона, который требует два аргумента и работает нормально, когда я запускаю его в командной строке с:Передача аргументов питона сценария в 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?

+0

Не могли бы вы запустить 'gdb ' и добавить backtrace к своему сообщению? Также имеет ли pythonscript.py путь к исполняемому файлу python, жестко закодированный с помощью hashbang на первой строке? –

+0

Если бы я знал, где SLURM сбрасывает ядра. Они не в моем рабочем каталоге, и я все еще жду, чтобы услышать от человека HPC. Я действительно разобрался, почему происходит дамп ядра, и он связан с попыткой импортировать недавно установленный модуль. Он отлично работает на узле входа, но не на вычислительном узле. Я не уверен в этом, если аргументы являются проблемой или нет. Сценарий python имеет путь к исполняемому файлу с жестким кодом с hashbang. – Jiffy

ответ

0

Это может показаться глупым вопросом, но является исполняемым файлом pythonscript.py?

также вы пробовали

python pythonscript.py arg1 arg2 

В качестве альтернативы, вы можете быть в состоянии изменить

#!/bin/bash 

в

#!/bin/python 

или соответствующий путь к версии питона вы хотите использовать ,

+1

Не глупый вопрос вообще. Да, это исполняемый файл. Возможно, я действительно удалю этот вопрос, потому что я обнаружил, откуда идет незаконная инструкция, и это не то, что я думал. Оказалось, что проблема связана с недавно установленным модулем на вычислительном узле (отлично работает на узле входа). Как только эта проблема будет исправлена, и я уверен, что аргументы больше не являются проблемой, я удалю этот вопрос. Спасибо за ваш ответ. – Jiffy

 Смежные вопросы

  • Нет связанных вопросов^_^