Hackathon CARyC - IPP 2022

From Supercomputación y Cálculo Científico UIS

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

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. 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.

Bonus: • Graficar los resultados. • Aumentar las dimensiones del problema dado • Usar más de un nodo de GUANE-1

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:


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 judiespa07@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