Changes between Version 20 and Version 21 of Enviamatlab


Ignore:
Timestamp:
Oct 6, 2011 10:19:21 AM (11 years ago)
Author:
gutierjm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Enviamatlab

    v20 v21  
    1 El acceso al cluster se realiza por `ssh` a '''mar.macc.unican.es''' y los trabajos en Matlab hay que lanzarlos utilizando `enviamatlab.sh`, que se encarga de mandar el trabajo a la cola `estadistica` (que es la cola por defecto para los trabajos de Matlab; esta cola puede ejecutar hasta 24 trabajos a la vez: nodos WN10, WN11 y WN12, con 8 procesadores cada uno). En la versión 2009  (que es la que usa el cluster actualmente) Matlab puede consumir más CPU de la asignada si no se usa correctamente. Por tanto, sólo debe utilizarse 'enviamatlab' para ejecutar trabajos matlab en el cluster, salvo que se haga en sesiones interactivas con la ayuda de Antonio o Sixto (en este caso hay que habilitar una opción especial de la sesión 'help maxNumCompThreads', que no es trivial utilizar).
     1El acceso al cluster se realiza por `ssh` a '''mar.macc.unican.es''' y los trabajos en Matlab hay que lanzarlos utilizando {{{enviamatlab.sh}}}, que se encarga de mandar el trabajo a la cola `estadistica` (que es la cola por defecto para los trabajos de Matlab; esta cola puede ejecutar hasta 24 trabajos a la vez: nodos WN10, WN11 y WN12, con 8 procesadores cada uno). En la versión 2009  (que es la que usa el cluster actualmente) Matlab puede consumir más CPU de la asignada si no se usa correctamente. Por tanto, sólo debe utilizarse {{{enviamatlab.sh}}} para ejecutar trabajos matlab en el cluster, salvo que se haga en sesiones interactivas con la ayuda de Antonio o Sixto (en este caso hay que habilitar una opción especial de la sesión 'help maxNumCompThreads', que no es trivial utilizar).
    22
    3 El script 'enviamatlab.sh' se ha añadido en un directorio del cluster ({{{/software/MachineIndependent/bin/}}}) accesible por todos los usuarios. Por tanto, si os logueais en mar y poneis '{{{which enviamatlab.sh}}}' (es decir, busca la ruta donde está '{{{enviamatlab.sh}}}') todos deberíais ver (sino es así, [/newticket?type=support&component=Cluster&cc=antonio,sixto hablar con Antonio o Sixto]):
     3El script {{{enviamatlab.sh}}} se ha añadido en un directorio del cluster ({{{/software/MachineIndependent/bin/}}}) accesible por todos los usuarios. Por tanto, si os logueais en mar y poneis '{{{which enviamatlab.sh}}}' (es decir, busca la ruta donde está '{{{enviamatlab.sh}}}') todos deberíais ver (sino es así, [/newticket?type=support&component=Cluster&cc=antonio,sixto hablar con Antonio o Sixto]):
    44
    55 {{{
     
    88}}}
    99
    10 Para ejecutar cualquier programa de Matlab hay que llamar a este script desde el directorio donde tengáis el fichero ".m" (en el ejemplo de abajo, en el home "~"):
     10Para ejecutar cualquier programa de Matlab hay que llamar a este script desde el directorio donde tengáis el {{{script.m}}} que se quiera ejecutar (en el ejemplo de abajo, en el home "~"):
    1111
    1212{{{
     
    1515
    1616De este modo, se generarán en la carpeta dos ficheros:
    17  * matlabqsub.20091123T105716: este fichero lo genera el enviamatlab y será el que arranque matlab y ejecute el srcipt.m. El final del nombre es la fecha de ejecución.
     17 * matlabqsub.20091123T105716: este fichero lo genera el enviamatlab y será el que arranque matlab y ejecute el  {{{script.m}}}. El final del nombre es la fecha de ejecución.
    1818 * script.20091123T105716.log: en este fichero se recoge la salida por pantalla de Matlab.
    1919
    20 Al final de la ejecución del script.m se genera un nuevo fichero 'script.o114037', donde el número indica el identificador del job ejecutado.
     20Al final de la ejecución del  {{{script.m}}} se genera un nuevo fichero 'script.o114037', donde el número indica el identificador del job ejecutado.
    2121
    2222Una vez ejecutamos la función nos aparecerá por pantalla una serie de mensajes con la información del trabajo enviado.
     
    2929482820.ce01.macc.unican.es
    3030}}}
    31  En la última línea se muestra el identificador del trabajo ('''!JobId''', en el ejemplo '''482820''') seguido del nombre de la máquina 'ce01.macc.unican.es'; esta máquina es el submitting machine, pero no es la que ejecuta el job; para monitorizar los jobs ver la sección de monitorización; por ejemplo, los trabajos que están corriendo en la cola 'estadística' se pueden ver con:
     31 En la última línea se muestra el identificador del trabajo ('''!JobId''', en el ejemplo '''482820''') seguido del nombre de la máquina {{{ce01.macc.unican.es}}}; esta máquina es el submitting machine, pero no es la que ejecuta el job; para monitorizar los jobs ver la sección de monitorización; por ejemplo, los trabajos que están corriendo en la cola 'estadística' se pueden ver con:
    3232{{{
    3333gutierjm@mar dynamicReservoir_Basic]$ qstat -n1 | grep estad
     
    3535}}}
    3636
    37 Por defecto, ''enviamatlab'' envía los trabajos a '''un sólo procesador (ppn) con un límite de 750mb de memoria (mem)'''. Si el job consume más memoria, la cola lo interrumpe. Si se necesita correr trabajos que consuman más memoria hay una opción para reservar el doble de memoria:
     37Por defecto, {{{enviamatlab.m}}} envía los trabajos a '''un sólo procesador (ppn) con un límite de 750mb de memoria (mem)'''. Si el job consume más memoria, la cola lo interrumpe. Si se necesita correr trabajos que consuman más memoria hay una opción para reservar el doble de memoria:
    3838{{{
    3939[gutierjm@mar ~]$  enviamatlab.sh  test.m -l mem=1500mb -l nodes=1:ppn=2