send_espresso
Para lanzar al sistema de colas trabajos de Quantum Espresso existe la utilidad send_espresso. Al ejecutarlo, muestra la sintaxis del comando, que se resume a continuación:
send_espresso input Executable Nodes Procs_per_node Time Mem [``Otherqueue options'' ]
Input | Nombre del input de espresso sin extensión |
Executable | Nombre del programa de espresso que se quiere usar: pw.x, ph.x, cp.x,… |
Nodos | Número de nodos a los que se quiere mandar el cálculo |
Procs_per_node: | Número de procesadores por nodo |
Time: | Tiempo solicitado a la cola, formato hh:mm:ss |
Mem | Memoria en GB y sin especificar la unidad |
[«Otras opciones de Torque»] | Existe la posibilidad de pasar más variables al sistema de colas. Ver ejemplos más abajo |
Ejemplos
Mandamos Espresso (binario pw.x) con el input job1.in a 1 nodo, 4 procesadores de ese nodo, con un tiempo solicitado de 4 horas y 1 GB de RAM:
send_espresso job1 pw.x 2 4 04:00:00 1
Mandamos espresso (car-parrinello) con el input job2.in a 2 nodos, 8 procesadores en cada nodo, con un tiempo solicitado de 192 horas, 8 GB de RAM y que se ejecute después del trabajo 1234.arina:
send_espresso job2 cp.x 2 8 192:00:00 8 ``-W depend=afterany:1234''
Mandamos espresso (binario ph.x) con el input job3.in a 8 nodos y 8 procesadores en cada nodo, con un tiempo solicitado de 200:00:00 horas, 64 GB de RAM (global) y que nos envíe un mensaje de correo al inicio y final del cálculo a la dirección especificada.
send_espresso job3 ph.x 8 8 200:00:00 64 ``-m be -M mi.email@ehu.es''
El comando send_espresso copia el contenido del directorio desde el que se lanza al /scratch o /gscratch -si se usan 2 o más nodos. Es allí donde realiza el cálculo.
Cómo usar creando tu propio script para Torque
Los ejecutables de Espresso se encuentran instalados en /software/bin/espresso. Por ejemplo, para ejecutar pw.x en las colas usar:
source /software/Espresso/compilervars.sh /software/Espresso/bin/pw.x -npool ncores < input_file > output_file
En la opción -npool ncores
hay que sustituir ncores
por el número de cores que se va a usar, esto mejora la velocidad de ejecución del cálculo. Si se solicitan más de un core se ejecuta automáticamente en paralelo.