Difference between revisions of "Computación de alto rendimiento y científica"

From Supercomputación y Cálculo Científico UIS
(14 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
==== '''Instructores''' ====
 
==== '''Instructores''' ====
Carlos Jaime Barrios Hernández, PhD.
+
Carlos Jaime Barrios Hernández, PhD. ( c b a r r i o s + * @ * + u i s . e d u . c o )
  
Gilberto Javier Diaz Toro, MsC.
+
Gilberto Javier Diaz Toro, MsC. ( g i l b e r t o . d i a z + * @ * + u i s . e d u . c o )
  
Jorge Luis Chacón Velasco, PhD.
+
Jorge Luis Chacón Velasco, PhD. (j c h a c on - * @ * - u i s . e d u . c o  )
  
 
==== '''Presentación''' ====
 
==== '''Presentación''' ====
El cómputo de alto rendimiento más que una tendencia en el uso de tecnologia, es una realidad, que plantea diferentes retos para todos los dominios del conocimiento o de actividad profesional. Más allá de las competencias normales de un ingeniero o cientifico, es necesario entender la tecnología para aprovechar las oportunidades que nos ofrecen, adquirir un lenguaje común para interactuar con ingenieros de sistemas o computistas y proyectar una actividad multidisciplinaria, altamente eficiente.<p>El curso ofrece un acercamiento a conceptos básicos y estrategias de interacción con arquitecturas escalables, desde el computo cientifico para explotar posibilidades de concurrencia y paralelismo. El curso permitirá a los participantes, conocer modelos de programacion fundamentales para la creacion de sus propios codigos, así como una vision e interacción con plataformas de supercomputo especifica y algunas herramientas de interacción en redes de tecnología avanzada, permitiendo reconocer perspectivas y oportunidades de desarrollo.</p><p>Las sesiones se realizan en el CENTIC</p>
+
El cómputo de alto rendimiento más que una tendencia en el uso de tecnología, es una realidad, que plantea diferentes retos para todos los dominios del conocimiento o de actividad profesional. Más allá de las competencias normales de un ingeniero o científico, es necesario entender la tecnología para aprovechar las oportunidades que nos ofrecen, adquirir un lenguaje común para interactuar con ingenieros de sistemas o computistas y proyectar una actividad multidisciplinaria, altamente eficiente.<p>El curso ofrece un acercamiento a conceptos básicos y estrategias de interacción con arquitecturas escalables, desde el computo cientifico para explotar posibilidades de concurrencia y paralelismo. El curso permitirá a los participantes, conocer modelos de programacion fundamentales para la creacion de sus propios codigos, así como una vision e interacción con plataformas de supercomputo especifica y algunas herramientas de interacción en redes de tecnología avanzada, permitiendo reconocer perspectivas y oportunidades de desarrollo.</p><p></p>
 +
 
 +
==== '''Contenido''' ====
 +
'''Unidad I: Introducción General'''
 +
* Introducción a la Computación Científica
 +
* Introducción al Linux
 +
* Linux y SLURM
 +
 
 +
'''Unidad II: Programación Científica'''
 +
* Algoritmos
 +
* Introducción al C/C++
 +
* Introducción al Python
 +
* Debugging y Profiling
 +
 
 +
'''Unidad III: Modelos de Programación Paralela'''
 +
* Arquitecturas de Computación de Alto Rendimiento
 +
* Memoria Compartida con OpenMP
 +
* Memoria Distribuída con MPI
 +
* OpenACC y Otras Directivas de Aceleración
 +
 
 +
'''Unidad IV: Herramientas Interesantes para Cómputo Científico'''
 +
* R
 +
* Hadoop
 +
* Otras
 +
 
 +
'''Unidad V: Visualización'''
 +
* gnuPlot
 +
* Paraview
 +
* Visit
 +
* Otros
 +
 
 +
==== '''Evaluaciones (2do Semestre de 2018)''' ====
 +
* '''Evaluación 1: 20% (10 de Septiembre en Horas de Clase) :''' Unidad I (Taller de Evaluación Teórico Individual)
 +
* '''Evaluación 2: 30% (Septiembre 24-25 9:00-17:00)''':  Participación en el Tutorial ''<u>Overview of Common Strategies for Parallelization</u>'' durante el #CARLA2018 (Presentación del Certificado de Asistencia y Cumplimiento de la totalidad de las horas del curso) Más información en [www.ccarla.org] 
 +
* '''Evaluación 2: 20% (29 de Octubre, En Horas de Clase)''' Entrega de Proyecto de Clase 1: Individual. Se asignarán posteriormente.
 +
* '''Evaluación 3: 30% (3 de Diciembre)''' Entrega de Proyecto Final de clase : Por Grupos. Se asignarán posteriormente.
 +
** Componente 1 (20%): Presentación en un Poster con los resultados relevantes
 +
** Componente 2 (20%): Calidad de la solución propuesta.
 +
 
 +
==== '''Horas de Consulta''' ====
 +
Las horas de Consulta son los Martes de 9:00 a.m. a 12:00 del dia en LP 226 o en el cuarto piso del Centic, pero se debe solicitar cita previa por email.

Revision as of 23:49, 14 September 2018

Volver a Cursos

Computación de Alto Rendimiento y Científica - Código 76734

PhD Debugging.gif

Instructores

Carlos Jaime Barrios Hernández, PhD. ( c b a r r i o s + * @ * + u i s . e d u . c o )

Gilberto Javier Diaz Toro, MsC. ( g i l b e r t o . d i a z + * @ * + u i s . e d u . c o )

Jorge Luis Chacón Velasco, PhD. (j c h a c on - * @ * - u i s . e d u . c o )

Presentación

El cómputo de alto rendimiento más que una tendencia en el uso de tecnología, es una realidad, que plantea diferentes retos para todos los dominios del conocimiento o de actividad profesional. Más allá de las competencias normales de un ingeniero o científico, es necesario entender la tecnología para aprovechar las oportunidades que nos ofrecen, adquirir un lenguaje común para interactuar con ingenieros de sistemas o computistas y proyectar una actividad multidisciplinaria, altamente eficiente.

El curso ofrece un acercamiento a conceptos básicos y estrategias de interacción con arquitecturas escalables, desde el computo cientifico para explotar posibilidades de concurrencia y paralelismo. El curso permitirá a los participantes, conocer modelos de programacion fundamentales para la creacion de sus propios codigos, así como una vision e interacción con plataformas de supercomputo especifica y algunas herramientas de interacción en redes de tecnología avanzada, permitiendo reconocer perspectivas y oportunidades de desarrollo.

Contenido

Unidad I: Introducción General

  • Introducción a la Computación Científica
  • Introducción al Linux
  • Linux y SLURM

Unidad II: Programación Científica

  • Algoritmos
  • Introducción al C/C++
  • Introducción al Python
  • Debugging y Profiling

Unidad III: Modelos de Programación Paralela

  • Arquitecturas de Computación de Alto Rendimiento
  • Memoria Compartida con OpenMP
  • Memoria Distribuída con MPI
  • OpenACC y Otras Directivas de Aceleración

Unidad IV: Herramientas Interesantes para Cómputo Científico

  • R
  • Hadoop
  • Otras

Unidad V: Visualización

  • gnuPlot
  • Paraview
  • Visit
  • Otros

Evaluaciones (2do Semestre de 2018)

  • Evaluación 1: 20% (10 de Septiembre en Horas de Clase) : Unidad I (Taller de Evaluación Teórico Individual)
  • Evaluación 2: 30% (Septiembre 24-25 9:00-17:00): Participación en el Tutorial Overview of Common Strategies for Parallelization durante el #CARLA2018 (Presentación del Certificado de Asistencia y Cumplimiento de la totalidad de las horas del curso) Más información en [www.ccarla.org]
  • Evaluación 2: 20% (29 de Octubre, En Horas de Clase) Entrega de Proyecto de Clase 1: Individual. Se asignarán posteriormente.
  • Evaluación 3: 30% (3 de Diciembre) Entrega de Proyecto Final de clase : Por Grupos. Se asignarán posteriormente.
    • Componente 1 (20%): Presentación en un Poster con los resultados relevantes
    • Componente 2 (20%): Calidad de la solución propuesta.

Horas de Consulta

Las horas de Consulta son los Martes de 9:00 a.m. a 12:00 del dia en LP 226 o en el cuarto piso del Centic, pero se debe solicitar cita previa por email.