Как извлечь значения ресурсов, указанных в директиве PBS, чтобы они могли отображаться в другие переменные среды?

Этот вопрос возникает при попытке найти скрипт в моем компьютерном кластере, который может позволить более удобное управление квантовохимическими расчетами на гауссовском языке. Руководство пользователя моего хоста дает следующее:

Gaussian 09 предлагает альтернативный способ передачи значений программы для количества процессоров, объема памяти и дискового пространства для использования. Вместо указания% mem,% nprocshared и Maxdisk во входном файле, вы можете найти более привлекательным для использования переменных среды Gaussian $ GAUSS_PDEF, $ GAUSS_MDEF и $ GAUSS_RDEF. Использование этих переменных позволяет преобразовать значения задания PBS для ncpus, mem и jobfs в переменные среды, которые читаются Gaussian 09. Мы предлагаем вам попробовать скрипт bash 'g09.sh' вместо 'g09' в команде строка сценария PBS. Скрипт выполняет это преобразование для вас и запускает программу, информируя ее о настройках PBS. Синтаксис использования скрипта прост:

  • Запуск GNU-параллелизма - на панели SGE зависает
  • Сколько места для / дома на кластере hadoop?
  • Как загрузить и запустить JNLP-файл в CentOS?
  • Настройка linux-кластера, например Windows с CentOS или Ubuntu?
  • Как создать персональный кластер?
  • Высокая доступность NFS
  • К сожалению, похоже, что скрипт больше не существует в кластере (и я не могу полностью проверить это, так как в качестве пользователя доступ не разрешен в / root, хотя я действительно могу попасть в папку / и проверить / приложения и / модули, которые хранит программное обеспечение и модули среды.

    Это означает, что я должен основываться на этой информации, пытаясь написать собственный скрипт, который выполняет ту же задачу для меня. Типичный PBS, используемый хостом, выглядит следующим образом:

    #!/bin/bash #PBS -l walltime=20:00:00 #PBS -l ncpus=4 #PBS -l mem=4GB #PBS -l jobfs=100GB #PBS -l software=g09 #PBS -l wd module load gaussian/g09e01 g09 < inputdeck > outputfile 2>&1 

    Поэтому, как указано в Руководстве пользователя PBS Professional , все с -l – это ресурсы, которые будут выделены для задания.

    Затем я попытался найти переменные среды, в которых хранятся значения ресурсов mem, ncpus и jobfs, поэтому я могу экспортировать $(some gaussian environment variable)=$(some PBS environment variable correspond to the resources) . Однако единственной переменной окружения PBS, которая хранит ресурсы, является PBS_NCPUS, поэтому казалось, что стратегия не будет работать

    Итак, как я могу извлечь значения каждого типа ресурсов из директив PBS, чтобы я мог сопоставить их с переменными среды gaussian?

    Linux и Unix - лучшая ОС в мире.