Difference between revisions of "Hackathon CARyC-IPP2022"

From Supercomputación y Cálculo Científico UIS
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== <big>Hackathon CARyC-IPP 2022
+
<big>'''''Hackathon CARyC-IPP 2022 de los cursos de Computación de Alto Rendimiento y Científica Introducción al Procesamiento en Paralelo.'''''</big>
Computación de Alto Rendimiento y Científica, Introducción al Procesamiento en Paralelo</big>==
+
<br />
 +
[[File:Codereuse.jpg|center]]
 +
 
  
 
Un '''hackaton''' es un encuentro de programadores en el que se busca, a través de un trabajo '''colaborativo''', dar una respuesta a un reto o problema en tiempo limitado. Esta respuesta será una solución en forma de prototipo terminado.
 
Un '''hackaton''' es un encuentro de programadores en el que se busca, a través de un trabajo '''colaborativo''', dar una respuesta a un reto o problema en tiempo limitado. Esta respuesta será una solución en forma de prototipo terminado.
  
La palabra ‘hackaton’ procede de juntar los términos ‘hacker’ y ‘maratón’. Y es que, en definitiva, se trata de un evento intensivo de hacking (programación y desarrollo) en un tiempo limitado que va entre las 24 y 48 horas. Esta duración es lo que hace que se conciba como una ‘maratón’, porque, aunque algunos están diseñados como competiciones, pero en este caso no se trata de eso y también se dará un intervalo de tiempo hasta el lunes 19 de septiembre a las 12:00 del dia.
+
La palabra ‘hackaton’ procede de juntar los términos ‘hacker’ y ‘maratón’. Y es que, en definitiva, se trata de un evento intensivo de hacking (programación y desarrollo) en un tiempo limitado que va entre las 24 y 48 horas. Esta duración es lo que hace que se conciba como una ‘maratón’, porque, aunque algunos están diseñados como competiciones, pero en este caso no se trata de eso y también se dará un intervalo de tiempo hasta el <u>'''lunes 19 de septiembre a las 12:00 del dia.'''</u>
  
 
El objetivo principal de este hackathon es buscar soluciones innovadoras y creativas al problema propuesto, en un encuentro entre participantes de distintos perfiles que trabajan en pequeños equipos en un contexto que fomenta el pensamiento creativo y la innovación.
 
El objetivo principal de este hackathon es buscar soluciones innovadoras y creativas al problema propuesto, en un encuentro entre participantes de distintos perfiles que trabajan en pequeños equipos en un contexto que fomenta el pensamiento creativo y la innovación.
  
  
===== '''Conformación de los Equipos:
+
'''Conformación de los Equipos:'''
'''
+
 
=====
 
 
Cada uno de los (3) tres equipos estará conformado por estudiantes tanto del curso de Introducción al Procesamiento en Paralelo (Estudiantes de Ingeniería de Sistemas), como del curso de Computación de Alto Rendimiento y Científica (Estudiantes de Ingeniería Mecánica, Ingeniería Química y Física). Los Equipos han sido propuestos por retos.  
 
Cada uno de los (3) tres equipos estará conformado por estudiantes tanto del curso de Introducción al Procesamiento en Paralelo (Estudiantes de Ingeniería de Sistemas), como del curso de Computación de Alto Rendimiento y Científica (Estudiantes de Ingeniería Mecánica, Ingeniería Química y Física). Los Equipos han sido propuestos por retos.  
  
'''===== Entrega y Presentación
+
'''Entrega y Presentación'''
''' =====
+
 
Los equipos presentarán los resultados el lunes 19 de septiembre a las 12:00 del dia. El salón de la entrega se dirá posteriormente. Los códigos respectivos deben subirse a GitHub y enlazarse al grupo respectivo de GitHub de SC3UIS.
+
Los equipos presentarán los resultados el <u>'''lunes 19 de septiembre a las 12:00 del dia'''.</u> El salón de la entrega se dirá posteriormente y se realizará una sesión extraordinaria únicamente de 45 minutos. Los códigos respectivos deben subirse a GitHub y enlazarse al grupo respectivo de GitHub de SC3UIS.
 +
 
 +
'''Preguntas a resolver'''
 +
 
 +
'''1. ¿Qué hace el código dado y cuál es su aplicación práctica?''' Entender que es lo que busca resolver del problema y cuáles son las aplicaciones prácticas del método propuesto (más allá de la implementación del algoritmo y del código dado, por ejemplo, uno puede decir este es el método de Jacobi para reducir una matriz, pero su aplicación práctica puede ser para entender la relación de balance de una mezcla antes de una reacción química). En este caso se requiere que los estudiantes de ingeniería que no son de sistemas expongan las aplicaciones prácticas.
 +
 
 +
'''2. ¿Cómo lo puedo mejorar paralelizándolo?''' Todos los problemas tienen una solución paralela. Se debe proponer una solución paralela (que puede ser en OpenMP o MPI) en la cual se muestre la mejora en rendimiento (mas velocidad, menos tiempo de ejecución, mayor cantidad de datos a usar, etc.). Importante, el código dado puede modificarse para optimizarse aún más antes de la ejecución.
  
===== '''Preguntas a resolver
+
'''3. ¿Cómo evalúo el rendimiento?''' En este punto, se debe realizar una comparación formal de tiempos de ejecución o de aceleración de la solución paralela y comparándola con la versión inicial secuencial dada. Por ejemplo, viendo que pasa cuando hay un  aumento la cantidad de hilos, o la cantidad de núcleos o de procesos o de nodos.
=====
 
'''
 
1. ¿Qué hace el código dado y cuál es su aplicación práctica?Entender que es lo que busca resolver del problema y cuáles son las aplicaciones prácticas del método propuesto (más allá de la implementación del algoritmo y del código dado, por ejemplo, uno puede decir este es el método de Jacobi para reducir una matriz, pero su aplicación práctica puede ser para entender la relación de balance de una mezcla antes de una reacción química). En este caso se requiere que los estudiantes de ingeniería que no son de sistemas expongan las aplicaciones prácticas.  
 
  
2. . ¿Cómo lo puedo mejorar paralelizándolo? Todos los problemas tienen una solución paralela. Se debe proponer una solución paralela (que puede ser en OpenMP o MPI) en la cual se muestre la mejora en rendimiento (mas velocidad, menos tiempo de ejecución, mayor cantidad de datos a usar, etc.). Importante, el código dado puede modificarse para optimizarse aún más antes de la ejecución.
+
'''4. ¿Cómo se ejecuta en GUANE-1?''' Por supuesto el código mejorado propuesto debe poder ejecutarse en GUANE-1, tanto de manera interactiva como de manera pasiva. Esto se evaluará observando el respectivo script que permita principalmente la ejecución en paralelo.
  
3. ¿Cómo evalúo el rendimiento? En este punto, se debe realizar una comparación formal de tiempos de ejecución o de aceleración de la solución paralela y comparándola con la versión inicial secuencial dada. Por ejemplo, viendo que pasa cuando hay un  aumento la cantidad de hilos, o la cantidad de núcleos o de procesos o de nodos.
+
'''5. ¿Cómo se presentan los resultados?''' En este punto, se observa como cada uno de los equipos en '''máximo 10 minutos''', en una exposición en la cual presentan su propuesta teniendo en cuenta los anteriores puntos, de una manera que tanto los expertos en computación como el público no computista puede verse interesado. Nota importante: la compilación y ejecución debe mostrarse en tiempo real. '''''<u>RECUERDEN SON SOLO (10) DIEZ MINUTOS Y CADA UNO DE LOS EQUIPOS DEBE ORGANIZAR ESA PRESENTACION DE MANERA LIBRE</u>'''''
  
4. ¿Cómo se ejecuta en GUANE-1? Por supuesto el código mejorado propuesto debe poder ejecutarse en GUANE-1, tanto de manera interactiva como de manera pasiva. Esto se evaluará observando el respectivo script que permita principalmente la ejecución en paralelo.
+
'''''Bonus:'''''
  
5. ¿Cómo se presentan los resultados? En este punto, se observa como cada uno de los equipos en máximo 10 minutos, en una exposición en la cual presentan su propuesta teniendo en cuenta los anteriores puntos, de una manera que tanto los expertos en computación como el público no computista puede verse interesado. Nota importante: la compilación y ejecución debe mostrarse en tiempo real.
+
Los equipos pueden tener puntos adicionales si hacen cualquiera de las siguientes cosas:
  
===== '''''Bonus:
+
*Graficar los resultados.
''''' =====
+
*Aumentar las dimensiones del problema dado
Graficar los resultados.
+
*Usar más de un nodo de GUANE-1
Aumentar las dimensiones del problema dado
+
*Realizar la paralelización en más de un paradigma y compararlo.
Usar más de un nodo de GUANE-1
 
  
===== '''Aspectos a Evaluar:
+
'''Aspectos a Evaluar:'''
''' =====
 
• Calidad y Creatividad de la solución.
 
• Contribución de cada uno de los miembros a la solución final (se hará una co-evaluación y preguntas al azar a los miembros del equipo) y trabajo en equipo.
 
• Calidad de la presentación
 
  
'''===== Equipos y Retos:
+
*Calidad y Creatividad de la solución.
====='''
+
*Contribución de cada uno de los miembros a la solución final (se hará una co-evaluación y preguntas al azar a cualquiera de los miembros del equipo) y trabajo en equipo.
 +
*Calidad de la presentación.
 +
 
 +
'''Equipos y Retos:'''
 +
 
 +
Los siguientes, son los equipos conformados, sin posibilidad de cambio. Los equipos están conformados por estudiantes de los dos cursos que involucran diferentes disciplinas. El reto esta dado en cada uno de los enlaces dados. A cada equipo le corresponde un único reto. Cada equipo debe buscar entender, cómo se indicó anteriormente, el reto dado.
 +
 
 +
'''''Equipo 1:'''''
 +
 
 +
''ESPARZA JAIMES JULIAN ANDRES''
 +
 
 +
jjesparza08@gmail.com
  
'''''Equipo 1:
 
'''''
 
ESPARZA JAIMES JULIAN ANDRES
 
jjesparza08@gmail.com                                                                             
 
 
julian2180543@correo.uis.edu.co
 
julian2180543@correo.uis.edu.co
 +
 +
''GARZON ARAQUE JESUS''
 
 
GARZON ARAQUE JESUS
 
 
Jesus20garzon7ara@gmail.com
 
Jesus20garzon7ara@gmail.com
 +
 
jesus2172245@correo.uis.edu.co
 
jesus2172245@correo.uis.edu.co
 
 
GOMEZ FIGUEROA DANIEL FELIPE
+
''GOMEZ FIGUEROA DANIEL FELIPE''
pipegf06@hotmail.com                                                                              
+
 
 +
pipegf06@hotmail.com
 +
 
 
daniel2162396@correo.uis.edu.co
 
daniel2162396@correo.uis.edu.co
  
FLOREZ BACCA MATEO
+
''FLOREZ BACCA MATEO''
 +
 
 
mateoflorezb@gmail.com
 
mateoflorezb@gmail.com
  
GOMEZ BALVIN ISABEL CRISTINA
+
''GOMEZ BALVIN ISABEL CRISTINA''
 +
 
 
mateoflorezb@gmail.com
 
mateoflorezb@gmail.com
  
VANEGAS RICO JUAN SEBASTIAN
+
''VANEGAS RICO JUAN SEBASTIAN''
 +
 
 
yeye143q@hotmail.com
 
yeye143q@hotmail.com
  
https://people.sc.fsu.edu/~jburkardt/c_src/heated_plate/heated_plate.html
+
'''https://people.sc.fsu.edu/~jburkardt/c_src/heated_plate/heated_plate.html'''
  
  
'''''Equipo 2:  
+
'''''Equipo 2: '''''
'''''
+
 
VALLEJO SANABRIA DIDIER FERNANDO
+
''VALLEJO SANABRIA DIDIER FERNANDO''
 +
 
 
ferdidier2000@hotmail.com
 
ferdidier2000@hotmail.com
 +
 
didier2184063@correo.uis.edu.co
 
didier2184063@correo.uis.edu.co
 +
 +
''VIANCHA BAUTISTA SEBASTIAN CAMILO''
 
 
VIANCHA BAUTISTA SEBASTIAN CAMILO
+
sebastian_vianchab@hotmail.com  
sebastian_vianchab@hotmail.com                                                                     sebastian2180285@correo.uis.edu.co
 
 
 
VILLAMIZAR GUERRERO YELITZA JULIANA
+
sebastian2180285@correo.uis.edu.co
yejulvi@hotmail.com                                                                                
+
 +
''VILLAMIZAR GUERRERO YELITZA JULIANA''
 +
 
 +
yejulvi@hotmail.com
 +
 
 
yelitza2171130@correo.uis.edu.co
 
yelitza2171130@correo.uis.edu.co
  
DELGADO CERVANTES DANIEL DAVID
+
''DELGADO CERVANTES DANIEL DAVID''
 +
 
 
danieldavid2001@gmail.com
 
danieldavid2001@gmail.com
  
MEDINA PAIPILLA LAURA DANIELA
+
''MEDINA PAIPILLA LAURA DANIELA''
 +
 
 
danielamedina1121@gmail.com
 
danielamedina1121@gmail.com
  
URREGO PAREDES ANDREA JULIANA
+
''URREGO PAREDES ANDREA JULIANA''
 +
 
 
julianaparedes18@hotmail.com
 
julianaparedes18@hotmail.com
  
https://people.sc.fsu.edu/~jburkardt/cpp_src/fem2d_project/fem2d_project.html  usando https://people.sc.fsu.edu/~jburkardt/data/fem2d/fem2d.html  
+
'''https://people.sc.fsu.edu/~jburkardt/cpp_src/fem2d_project/fem2d_project.html''' usando '''https://people.sc.fsu.edu/~jburkardt/data/fem2d/fem2d.html'''
 +
 
 +
'''''Equipo 3:'''''
  
Equipo 3:
+
''JOYA TORRES MARLON DANIEL''
  
JOYA TORRES MARLON DANIEL
 
 
marlondaniel16@hotmail.com
 
marlondaniel16@hotmail.com
 +
 
marlon2162435@correo.uis.edu.co
 
marlon2162435@correo.uis.edu.co
  
PINZON ACUÑA ELVIS
+
''PINZON ACUÑA ELVIS''
elvispinzon.a@gmail.com                                                                            
+
 
 +
elvispinzon.a@gmail.com  
 +
 
 
ELVIS.PINZON@correo.uis.edu.co
 
ELVIS.PINZON@correo.uis.edu.co
 
 
PRADA CARDOZO SANTIAGO
+
''PRADA CARDOZO SANTIAGO''
 +
 
 
santiagopradacardozo17@gmail.com
 
santiagopradacardozo17@gmail.com
 +
 
santiago2162478@correo.uis.edu.co
 
santiago2162478@correo.uis.edu.co
  
ESTEBAN PARRA JUAN DIEGO
+
''ESTEBAN PARRA JUAN DIEGO''
judiespa07@gmail.com
+
 
 +
udiespa07@gmail.com
 +
 
 +
''LOPEZ SANTANA YAIRE CATALINA''
  
LOPEZ SANTANA YAIRE CATALINA
 
 
yairecata.13lopez@gmail.com
 
yairecata.13lopez@gmail.com
  
SILVA MARTINEZ JOSE JAIME
+
''SILVA MARTINEZ JOSE JAIME''
 +
 
 
mcvicksilvaa@gmail.com
 
mcvicksilvaa@gmail.com
 
 
https://people.sc.fsu.edu/~jburkardt/c_src/fem1d/fem1d.html
+
'''https://people.sc.fsu.edu/~jburkardt/c_src/fem1d/fem1d.html'''

Latest revision as of 03:29, 31 August 2022

Hackathon CARyC-IPP 2022 de los cursos de Computación de Alto Rendimiento y Científica e Introducción al Procesamiento en Paralelo.

Codereuse.jpg


Un hackaton es un encuentro de programadores en el que se busca, a través de un trabajo colaborativo, dar una respuesta a un reto o problema en tiempo limitado. Esta respuesta será una solución en forma de prototipo terminado.

La palabra ‘hackaton’ procede de juntar los términos ‘hacker’ y ‘maratón’. Y es que, en definitiva, se trata de un evento intensivo de hacking (programación y desarrollo) en un tiempo limitado que va entre las 24 y 48 horas. Esta duración es lo que hace que se conciba como una ‘maratón’, porque, aunque algunos están diseñados como competiciones, pero en este caso no se trata de eso y también se dará un intervalo de tiempo hasta el lunes 19 de septiembre a las 12:00 del dia.

El objetivo principal de este hackathon es buscar soluciones innovadoras y creativas al problema propuesto, en un encuentro entre participantes de distintos perfiles que trabajan en pequeños equipos en un contexto que fomenta el pensamiento creativo y la innovación.


Conformación de los Equipos:

Cada uno de los (3) tres equipos estará conformado por estudiantes tanto del curso de Introducción al Procesamiento en Paralelo (Estudiantes de Ingeniería de Sistemas), como del curso de Computación de Alto Rendimiento y Científica (Estudiantes de Ingeniería Mecánica, Ingeniería Química y Física). Los Equipos han sido propuestos por retos.

Entrega y Presentación

Los equipos presentarán los resultados el lunes 19 de septiembre a las 12:00 del dia. El salón de la entrega se dirá posteriormente y se realizará una sesión extraordinaria únicamente de 45 minutos. Los códigos respectivos deben subirse a GitHub y enlazarse al grupo respectivo de GitHub de SC3UIS.

Preguntas a resolver

1. ¿Qué hace el código dado y cuál es su aplicación práctica? Entender que es lo que busca resolver del problema y cuáles son las aplicaciones prácticas del método propuesto (más allá de la implementación del algoritmo y del código dado, por ejemplo, uno puede decir este es el método de Jacobi para reducir una matriz, pero su aplicación práctica puede ser para entender la relación de balance de una mezcla antes de una reacción química). En este caso se requiere que los estudiantes de ingeniería que no son de sistemas expongan las aplicaciones prácticas.

2. ¿Cómo lo puedo mejorar paralelizándolo? Todos los problemas tienen una solución paralela. Se debe proponer una solución paralela (que puede ser en OpenMP o MPI) en la cual se muestre la mejora en rendimiento (mas velocidad, menos tiempo de ejecución, mayor cantidad de datos a usar, etc.). Importante, el código dado puede modificarse para optimizarse aún más antes de la ejecución.

3. ¿Cómo evalúo el rendimiento? En este punto, se debe realizar una comparación formal de tiempos de ejecución o de aceleración de la solución paralela y comparándola con la versión inicial secuencial dada. Por ejemplo, viendo que pasa cuando hay un aumento la cantidad de hilos, o la cantidad de núcleos o de procesos o de nodos.

4. ¿Cómo se ejecuta en GUANE-1? Por supuesto el código mejorado propuesto debe poder ejecutarse en GUANE-1, tanto de manera interactiva como de manera pasiva. Esto se evaluará observando el respectivo script que permita principalmente la ejecución en paralelo.

5. ¿Cómo se presentan los resultados? En este punto, se observa como cada uno de los equipos en máximo 10 minutos, en una exposición en la cual presentan su propuesta teniendo en cuenta los anteriores puntos, de una manera que tanto los expertos en computación como el público no computista puede verse interesado. Nota importante: la compilación y ejecución debe mostrarse en tiempo real. RECUERDEN SON SOLO (10) DIEZ MINUTOS Y CADA UNO DE LOS EQUIPOS DEBE ORGANIZAR ESA PRESENTACION DE MANERA LIBRE

Bonus:

Los equipos pueden tener puntos adicionales si hacen cualquiera de las siguientes cosas:

  • Graficar los resultados.
  • Aumentar las dimensiones del problema dado
  • Usar más de un nodo de GUANE-1
  • Realizar la paralelización en más de un paradigma y compararlo.

Aspectos a Evaluar:

  • Calidad y Creatividad de la solución.
  • Contribución de cada uno de los miembros a la solución final (se hará una co-evaluación y preguntas al azar a cualquiera de los miembros del equipo) y trabajo en equipo.
  • Calidad de la presentación.

Equipos y Retos:

Los siguientes, son los equipos conformados, sin posibilidad de cambio. Los equipos están conformados por estudiantes de los dos cursos que involucran diferentes disciplinas. El reto esta dado en cada uno de los enlaces dados. A cada equipo le corresponde un único reto. Cada equipo debe buscar entender, cómo se indicó anteriormente, el reto dado.

Equipo 1:

ESPARZA JAIMES JULIAN ANDRES

jjesparza08@gmail.com

julian2180543@correo.uis.edu.co

GARZON ARAQUE JESUS

Jesus20garzon7ara@gmail.com

jesus2172245@correo.uis.edu.co

GOMEZ FIGUEROA DANIEL FELIPE

pipegf06@hotmail.com

daniel2162396@correo.uis.edu.co

FLOREZ BACCA MATEO

mateoflorezb@gmail.com

GOMEZ BALVIN ISABEL CRISTINA

mateoflorezb@gmail.com

VANEGAS RICO JUAN SEBASTIAN

yeye143q@hotmail.com

https://people.sc.fsu.edu/~jburkardt/c_src/heated_plate/heated_plate.html


Equipo 2:

VALLEJO SANABRIA DIDIER FERNANDO

ferdidier2000@hotmail.com

didier2184063@correo.uis.edu.co

VIANCHA BAUTISTA SEBASTIAN CAMILO

sebastian_vianchab@hotmail.com

sebastian2180285@correo.uis.edu.co

VILLAMIZAR GUERRERO YELITZA JULIANA

yejulvi@hotmail.com

yelitza2171130@correo.uis.edu.co

DELGADO CERVANTES DANIEL DAVID

danieldavid2001@gmail.com

MEDINA PAIPILLA LAURA DANIELA

danielamedina1121@gmail.com

URREGO PAREDES ANDREA JULIANA

julianaparedes18@hotmail.com

https://people.sc.fsu.edu/~jburkardt/cpp_src/fem2d_project/fem2d_project.html usando https://people.sc.fsu.edu/~jburkardt/data/fem2d/fem2d.html

Equipo 3:

JOYA TORRES MARLON DANIEL

marlondaniel16@hotmail.com

marlon2162435@correo.uis.edu.co

PINZON ACUÑA ELVIS

elvispinzon.a@gmail.com

ELVIS.PINZON@correo.uis.edu.co

PRADA CARDOZO SANTIAGO

santiagopradacardozo17@gmail.com

santiago2162478@correo.uis.edu.co

ESTEBAN PARRA JUAN DIEGO

udiespa07@gmail.com

LOPEZ SANTANA YAIRE CATALINA

yairecata.13lopez@gmail.com

SILVA MARTINEZ JOSE JAIME

mcvicksilvaa@gmail.com

https://people.sc.fsu.edu/~jburkardt/c_src/fem1d/fem1d.html