Ejemplos
En esta sección se presentan algunos problemas prácticos para implementar y analizar su performance, escalabilidad y entender algunos fenómenos de la computación paralela.
Hola mundo
El primer paso con cualquier nueva herramienta es asegurarnos que funciona en nuestra computadora. Para esto siempre es muy útil escribir un programa “hola mundo!” que encapsule lo más básico de la nueva herramienta a usar.
c | fortran | omp | mpi | cuda
SAXPY
SAXPY es el acrónimo de Single precisión A times X plus Y y es una operación ampliamente utilizada como patrón para comparar performance entre distintas herramientas ya que es una operación que aparece a menudo en problemas de algebra lineal y el cálculo numérico. Y consiste tan solo en ejecutar la siguiente operación:
donde a es un escalar, X e Y son vectores de longitud “n”.
c | fortran | omp | mpi | cuda
Integral PI
Un buen primer ejemplo para practicar como paralelizar código es la integración numérica. En este caso se eligió la integral de la función
la razón de elección de esta función es que su integral entre 0 y 1 es numéricamente igual a π y por lo tanto es fácil de corroborar su correcta implementación.
c | fortran | omp | mpi | cuda
Jacobi
Es un método para resolver sistemas de ecuaciones lineales (SELs) que que a diferencia de Gauss-Seidel tiene mayor potencial para paralelizar.
Transformada de Fourier
Transporte de Calor
Mecánica de fluidos
Procesamiento de señales
Fibonacci
Machine learning
Licensed MIT.