ЦКП ССКЦ ИВМиМГ СО РАН > Информация
  1. Правила работы
  2. Использование ПО
  3. Распараллеливание задач
    • Стандарт MPI
    • Стандарт OpenMP
    • Гибридный метод: MPI + OpenMP
    • Использование узлов с GPU
    • Использование узлов с Intel Xeon Phi
  4. Прочее
Как сообщалось в разделе про PBS, после завершения задачи информация, выведенная ей во время работа в стандартные потоки вывода и ошибок (stdout и stderr), появляется в рабочей директории в файлах с названиями вида «НазваниеСкрипта.oXXXXX» и «НазваниеСкрипта.еXXXXX» соответственно. Но имеется один нюанс: в момент запуска и работы задачи эти файлы находятся на вычислительном узле (в случае использовании нескольких узлов - на 'Mother Superior') и только после завершения задачи переносятся в её рабочую директорию. В связи с этим могут возникнуть такие ситуации:
  • Возможно, Вы хотите при работе задачи отслеживать в реальном времени некую выводимую ей отладочную информацию, но соответствующие файлы находятся на вычислительном узле и Вам недоступны. В таком случае можно перенаправлять потоки в другой файл, находящийся в рабочей директории:
    #!/bin/bash
    #PBS -l walltime=0:20:0
    #PBS -l select=1:ncpus=1:mem=2000mb

    cd $PBS_O_WORKDIR
    log="$(echo $PBS_JOBID|awk -F. '{print $1}')".log

    ./a.out >$log 2>&1
  • В некоторых случаях работающая программа сама дублирует выводимую информацию в файлы логов. В таком случае, вывод в stdout/stderr не нужен и его можно подавить, перенаправив в устройство /dev/null. Можно перенаправить либо только stdout:
    ./a.out >/dev/null
    либо и stdout и stderr:
    ./a.out >/dev/null 2>&1
  • Также бывает, что вывод программы настолько объемный, что достигает десятков гигабайт и занимает всё доступное место на вычислительном узле. В результате операционная система начинает работать некорректно, т.к. не может создавать новые файлы, а задачи других пользователей, работающие на этом же узле, не могут писать в свои логи вывода. В таком случае вывод программы необходимо или подавить или перенаправить, как описано выше.