Llevan éste nombre los algoritmos más sencillos de adaptar su implementación en una GPGPU. Para conocerlos mejor, nombraremos las siguientes características:
- También se les conoce como algoritmos naturalmente paralelos.
- Son los algoritmos paralelos más simples debido que casi no requieren comunicación entre procesos.
- Cada proceso puede realizar sus cálculos de forma propia sin necesidad de comunicarse con otros.
- Pueden requerir alguna partición inicial de los datos, o juntar los datos resultantes al final, aunque no siempre.
Caso ideal:
- Todos los subproblemas o tareas son definidas antes de que el cómputo inicie.
- Todas las sub-soluciones son almacenadas en localidades de memoria independientes (variables, elementos de arrays).
- Por lo tanto, el cómputo de cada sub-solución es completamente independiente.
- Si el cómputo requiere alguna comunicación inicial o final, lo llamaremos Nearly embarrasingly parallel.
Algunos ejemplos:
- Renderizado de gráficos para computadora.
- Algoritmos genéticos
- Simulaciones de Monte-Carlo
- Conjuntos de Mandelbrot (a.k.a. Fractales)
No hay comentarios:
Publicar un comentario