Como extrair os valores dos recursos especificados em uma diretiva PBS para que possam ser mapeados em outras variáveis ​​de ambiente?

Como extrair os valores dos recursos especificados em uma diretiva PBS para que possam ser mapeados em outras variáveis ​​de ambiente?

Esta questão surge ao tentar encontrar um script em meu cluster de computação host que possa permitir um gerenciamento mais conveniente de cálculos químicos quânticos em Gaussiano. Omanual do usuáriodo meu host dá o seguinte:

O Gaussian 09 oferece uma forma alternativa de passar para o programa valores de número de processadores, quantidade de memória e espaço em disco a utilizar. Em vez de especificar %mem, %nprocshared e Maxdisk no arquivo de entrada, você pode achar mais atraente usar as variáveis ​​de ambiente gaussianas $GAUSS_PDEF, $GAUSS_MDEF e $GAUSS_RDEF. O uso dessas variáveis ​​torna possível converter os valores do trabalho PBS para ncpus, mem e jobfs nas variáveis ​​de ambiente legíveis pelo Gaussian 09. Sugerimos que você tente o script bash 'g09.sh' em vez de 'g09' no comando linha do script PBS. O script realiza essa conversão para você e inicia o programa informando-o das configurações do PBS. A sintaxe de uso do script é simples:

Infelizmente, parece que o script não existe mais no cluster (e não posso verificar isso completamente, pois, como usuário, o acesso não é permitido em /root, embora eu possa acessar a pasta / e verificar /apps e /modules que armazena os softwares e os módulos do ambiente.

Isso significa que tenho que me basear nessas informações para tentar escrever meu próprio script que faça a mesma tarefa para mim. Um PBS típico usado pelo host é assim:

#!/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

Portanto, como afirmado noGuia do usuário profissional PBS, tudo com -l são os recursos a serem alocados para o trabalho.

Tentei então encontrar variáveis ​​de ambiente que armazenassem o valor dos recursos mem, ncpus e jobfs para que eu pudesse exportar $(some gaussian environment variable)=$(some PBS environment variable correspond to the resources). No entanto, a única variável ambiental do PBS que armazena recursos é o PBS_NCPUS, portanto parecia que a estratégia não funcionaria

Então, como posso extrair os valores de cada tipo de recurso das diretivas PBS para mapeá-los para variáveis ​​de ambiente gaussianas?

informação relacionada