Pregunta

Tengo acceso a un grupo de 128 núcleo sobre el que me gustaría ejecutar un trabajo paralelizada. El clúster utiliza Sun GridEngine y mi programa está escrito para ejecutarse en paralelo usando Python, numpy, scipy en Python 2.5.8. Ejecutar el trabajo en un solo nodo (4 núcleos) produce un ~ 3.5x mejora con respecto a un solo núcleo. Ahora me gustaría llevar esto al siguiente nivel y dividir el trabajo a través de ~ 4 nodos. Mi qsub miradas de script algo como esto:

#!/bin/bash
# The name of the job, can be whatever makes sense to you
#$ -N jobname

# The job should be placed into the queue 'all.q'.
#$ -q all.q

# Redirect output stream to this file.
#$ -o jobname_output.dat

# Redirect error stream to this file.

#$ -e jobname_error.dat

# The batchsystem should use the current directory as working directory.
# Both files will be placed in the current
# directory. The batchsystem assumes to find the executable in this directory.
#$ -cwd

# request Bourne shell as shell for job.
#$ -S /bin/sh

# print date and time
date

# spython is the server's version of Python 2.5. Using python instead of spython causes the program to run in python 2.3
spython programname.py

# print date and time again
date

¿Alguien tiene alguna idea de cómo hacer esto?

¿Fue útil?

Solución

Sí, es necesario incluir la opción -np 16 Grid Engine, ya sea en el script de esta manera:

# Use 16 processors
#$ -np 16

o en la línea de comandos al momento de enviar el guión. O, para arreglos más permanentes, utilice un archivo .sge_request.

En todas las instalaciones de GE que he usado esto le dará 16 procesadores (o núcleos de procesador en estos días) en el menor número de nodos como sea necesario, así que si los nodos tienen 4 núcleos obtendrá 4 nodos, si tienen 8 2 y así sucesivamente. Para hacer el trabajo en, por ejemplo 2 núcleos en 8 nodos (que es posible que desee hacer si necesita una gran cantidad de memoria para cada proceso) es un poco más complicado y debe consultar a su equipo de apoyo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top