Búsqueda · 29 momentos en 17 episodios
Silvana TapiaLuisa AchaerandioJuan Carlos GilFrancis VillatoroBorja TosarHéctor Socasalmacenamiento masivo para simulacionessistema de colas en superordenadorscript para lanzar código numéricohoras de cpu asignadas a usuariossistema de gestión tareas superordenadorescolas usuarios compiten recursosslurm sistema de colasprioridad procesos lanzados slurmCPUHéctor SocasLinuxEl MarcianoPythonNicoleCalcCorrectFortranCalculations CorrectSlurmIACYouTubeGitHub
Script para lanzar código numérico
Con
0:000:301:001:302:002:303:003:17
Héctor Socas explica cómo funciona el almacenamiento masivo y los sistemas de colas en superordenadores, comparándolo con la experiencia de usuarios de Linux.
…los que estén acostumbrados a trabajar en Linux, pues sabrán de lo que estoy hablando. Cuando tienes un directorio home con una cierta configuración y tú en ese directorio home subes tu programa, puedes hacer pequeñas cositas y luego tienes un espacio en El almacenamiento, el almacenamiento masivo que es un espacio que se te asigna para almacenar ahí el resultado de tu simulación, como espacio de trabajo para tu simulación. Entonces, tú allí compilas el código en el superordenador con las herramientas que tienen para compilar y luego hay un sistema de colas porque no lo estás usando tú solo; hay mucha gente usando ese superordenador y entonces tú envías tu trabajo. Tu trabajo es básicamente suele haber un script, un pequeño programita que lanza tu código numérico con las condiciones iniciales adecuadas y entonces ahí tienes que especificar también cuáles son las opciones. A ti normalmente te han asignado un cierto número de horas de CPU que tú puedes repartir en poquitos procesadores: muchas horas o pocas horas en Muchos procesadores normalmente tú tienes libertad para configurar cuántos procesadores y cuántas horas quieres consumir dentro de esa cuota que te han dado, y entonces se lanza y entra en un pool donde hay otros usuarios, cada uno con su prioridad dependiendo de lo que te hayan asignado, y entonces ese sistema de colas va consumiendo, va alternando entre los diferentes procesos que se han lanzado, cada uno con su prioridad. Esto es complicadísimo, pero tú no te tienes que preocupar de eso; hay un sistema que lo hace: el Slurm, hay diferentes sistemas de colas y va metiendo la ejecución de un código, la de otro. ¿Cómo sabes que has terminado?…
Significado #1 · Palabras #1
Héctor Socas explica cómo funciona el almacenamiento masivo y los sistemas de colas en superordenadores, comparándolo con la experiencia de usuarios de Linux.
Habla: Héctor SocasSignificado #1 · Palabras #1almacenamiento masivo para simulacionessistema de colas en superordenadorscript para lanzar código numéricohoras de cpu asignadas a usuariossistema de gestión tareas superordenadorescolas usuarios compiten recursosslurm sistema de colasprioridad procesos lanzados slurm…los que estén acostumbrados a trabajar en Linux, pues sabrán de lo que estoy hablando. Cuando tienes un directorio home con una cierta configuración y tú en ese directorio home subes tu programa, puedes hacer pequeñas cositas y luego tienes un espacio en El almacenamiento, el almacenamiento masivo que es un espacio que se te asigna para almacenar ahí el resultado de tu simulación, como espacio de trabajo para tu simulación. Entonces, tú allí compilas el código en el superordenador con las herramientas que tienen para compilar y luego hay un sistema de colas porque no lo estás usando tú solo; hay mucha gente usando ese superordenador y entonces tú envías tu trabajo. Tu trabajo es básicamente suele haber un script, un pequeño programita que lanza tu código numérico con las condiciones iniciales adecuadas y entonces ahí tienes que especificar también cuáles son las opciones. A ti normalmente te han asignado un cierto número de horas de CPU que tú puedes repartir en poquitos procesadores: muchas horas o pocas horas en Muchos procesadores normalmente tú tienes libertad para configurar cuántos procesadores y cuántas horas quieres consumir dentro de esa cuota que te han dado, y entonces se lanza y entra en un pool donde hay otros usuarios, cada uno con su prioridad dependiendo de lo que te hayan asignado, y entonces ese sistema de colas va consumiendo, va alternando entre los diferentes procesos que se han lanzado, cada uno con su prioridad. Esto es complicadísimo, pero tú no te tienes que preocupar de eso; hay un sistema que lo hace: el Slurm, hay diferentes sistemas de colas y va metiendo la ejecución de un código, la de otro. ¿Cómo sabes que has terminado?…
Héctor Socas describe cómo su código 'Nicole' incluye un módulo de comprobación inspirado en una escena de la película 'El Marciano', permitiendo a los usuarios invocar un método que muestra una ventanita con el mensaje 'Calculation Is Correct'.
Habla: Héctor SocasSignificado #3código nicole github héctor socascachondeo calculation is correct iaccálculos de prueba en código nicolemódulo calccorrect en pythoncomprobaciones al instalar el códigocódigo nicole inspirado el marcianométodo mensaje ventanita calculacionherencia chorrada película marcianocódigo nicole en fortraninterfaz de usuario en pythonpruebas con módulos pythonficheros de entrada y salida python…que su idea funciona es que él en su portátil allí con una terminal de Linux le aparece un mensajito que dice: Calculations Correct, Calculations Correct. El cálculo es correcto, entonces eso nos pareció muy gracioso y entre el grupito de amigos ahí en el IAC después de salir la película durante un cierto tiempo tuvimos un cachondeo con eso del Calculation Is Correct y entonces en un momento dado decidí que yo tenía que implementar también en mi código un Calculation Is Correct para que cuando acabe el código te salga la ventanita y entonces bueno yo tengo un código, lo voy a mostrar para la gente que lo esté viendo en YouTube que bueno yo tengo este código que se llama Nicole que es una cosa en la que he trabajado durante gran parte de mi carrera y está por ahí en GitHub Y hay un módulo que es el módulo que hace comprobaciones cuando tú te lo instalas y tal, pues hay una serie de cálculos de prueba que puedes hacer a ver si el código funciona o no. O sea, son problemas conocidos, entonces lo resuelve y ves si el resultado es el correcto. Y dentro de este hay un módulo en Python que se llama CalcCorrect, que lo que hace es justamente sacar el mensajito. Y bueno, lo tengo por aquí para que vean una idea. Esto es una terminal. ¿O buenísimo? Igual que la película del Marciano, tú abres una ventana de Python, importas el módulo y simplemente invocas el método mensaje y te sale la ventanita de calculación. ¡Buenísimo! Es una tontería muy grande, pero bueno, es herencia un poco de la chorrada de la película. Y para quien quiera usarlo, ahí está disponible. Eso lo Incorporaste a la versión en Python, pero la versión anterior era en Fortran, no lo tenía, ¿no? El código es en Fortran, pero todo el interfaz con el usuario es en Python. Entonces, la parte que corre en un superordenador está en Fortran, pero tiene los módulos en Python que son los que se usan para, por ejemplo, hacer pruebas, para generar los ficheros de entrada, para leer los ficheros de salida, todo eso está en Python. ¿Me deja, Héctor, que proyecte yo mi código también? Me ha dado miedo morriña. ¿Pero tiene Calculations Correct? No exactamente. ¿Se está viendo? No, no vemos nada. Bueno, te vemos a ti, pero no sé si es la intención. Sí, es que estoy en un sitio que no es el mío. Está en ello, está en ello. Ya, ahora, ahora, ahora va. Vale. Ah, Simulation has complete successfully. Esto, yo ponía Simulation has complete successfully.…
