Esta pregunta surge cuando intento encontrar un script en mi clúster informático host que pueda permitir una gestión más conveniente de los cálculos químicos cuánticos en Gauss. Elmanual de usuariode mi anfitrión da lo siguiente:
Gaussian 09 ofrece una forma alternativa de pasar al programa valores para el número de procesadores, cantidad de memoria y espacio en disco a utilizar. En lugar de especificar %mem, %nprocshared y Maxdisk en el archivo de entrada, puede resultarle más atractivo utilizar las variables de entorno gaussianas $GAUSS_PDEF, $GAUSS_MDEF y $GAUSS_RDEF. El uso de estas variables hace posible convertir los valores de trabajo de PBS para ncpus, mem y jobfs en variables de entorno legibles por Gaussian 09. Le sugerimos que pruebe el script bash 'g09.sh' en lugar de 'g09' en el comando. línea del guión de PBS. El script realiza esta conversión por usted e inicia el programa informándole de la configuración de PBS. La sintaxis del uso del script es simple:
Desafortunadamente, parece que el script ya no existe en el clúster (y no puedo verificarlo completamente ya que, como usuario, no se permite el acceso a /root, aunque puedo acceder a la carpeta / y verificar /apps y /modules, que almacena el software y los módulos de entorno.
Esto significa que tengo que basarme en esta información para intentar escribir mi propio script que haga la misma tarea por mí. Un PBS típico utilizado por el anfitrión se ve así:
#!/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
Por lo tanto, como se afirma en elGuía del usuario profesional de PBS, todo lo que lleva -l son los recursos que se asignarán al trabajo.
Luego intenté encontrar variables de entorno que almacenen el valor de los recursos mem, ncpus y jobfs para poder exportar $(some gaussian environment variable)=$(some PBS environment variable correspond to the resources)
. Sin embargo, la única variable ambiental de PBS que almacena recursos es PBS_NCPUS, por lo que parecía que la estrategia no funcionará.
Entonces, ¿cómo puedo extraer los valores de cada tipo de recurso de las directivas de PBS para poder asignarlos a variables de entorno gaussianas?