Самый простой способ запустить SLURM для нескольких файловPython

Программы на Python
Ответить
Anonymous
 Самый простой способ запустить SLURM для нескольких файлов

Сообщение Anonymous »

У меня есть скрипт Python, который обрабатывает примерно 10 000 файлов FITS один за другим. Для каждого файла скрипт генерирует выходные данные в том же каталоге, что и входные файлы, и создает один CSV-файл для записи статистики об обработанных файлах.
Ранее я распараллелил скрипт с помощью async с многопроцессорными пулами, но теперь у меня есть доступ к кластеру SLURM, и я хотел бы запустить его с помощью SLURM.
Каков самый простой способ добиться этого?
Все файлы хранится в том же каталоге, и там нет определенного порядка, в котором их необходимо обрабатывать.
РЕДАКТИРОВАТЬ: мне также нужно активировать среду conda перед запуском скрипта Python. Python должен принять имя файла и начать выполнение кода. Обычно я отправляю имя файла через args.
Спасибо
******** Обновление EDIT:
Мне удалось заставить это работать.
Сначала я создал bash-скрипт для отправки заданий:

Код: Выделить всё

#!/bin/bash

# Define the directory containing FITS files
INPUT_DIR="input_dir"
LOG_DIR="${INPUT_DIR}/logs"

# Ensure the logs directory exists
mkdir -p "$LOG_DIR"

# List all FITS files and write their paths to a temporary file
find "$INPUT_DIR" -name "*.fits" > file_list.txt

# Loop through each FITS file and submit a SLURM job
while IFS= read -r filepath; do
sbatch run2.sh "$filepath"
done < file_list.txt
Итак, этот скрипт вызывает скрипт run2.sh, который содержит следующее:

Код: Выделить всё

#!/bin/bash
#SBATCH -p long
#SBATCH -J test
#SBATCH -n 1
#SBATCH -t 00:05:00
#SBATCH --output=file.out
#SBATCH --error=file.err

source miniconda3/bin/activate my_env

# Define variables
# EVENT_PATH="directory_path"

# Run Python script
python3 -u my_python_code.py "$1" "False" 3
Моя следующая проблема заключается в том, что таким образом я создаю 10 тысяч рабочих мест, потому что мне нужно проанализировать 10 тысяч изображений, хотя анализ каждого изображения занимает всего несколько секунд.
Может быть, есть более разумный вариант способ сделать это.

Подробнее здесь: https://stackoverflow.com/questions/792 ... iple-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»