Resumen |
Este trabajo presenta los principales resultados y recomendaciones prácticas que resultan de un estudio reciente sobre algunas variantes paralelas de un algoritmo de optimización por cúmulo de partículas (PSO), puestas en práctica en una unidad de procesamiento de gráficos (dispositivo GPU), con capacidad para administrar múltiples hilos (multi-hilos), empleando CUDA (Arquitectura unificada de dispositivo computador), el modelo de programación paralela para estos casos. Se demuestra que, con la ayuda de un dispositivo GPU multi-hilos, es posible obtener versiones paralelas del algoritmo PSO por medio de una programación paralela simple y directa, aprovechando el poder de cómputo de un dispositivo GPU que puede ser equivalente a un cluster en una computadora personal convencional. En particular, se ofrecen recomendaciones prácticas para el buen uso de un dispositivo GPU multi-hilos. El algoritmo PSO es una alternativa bien conocida para resolver problemas de optimización global con base en una heurística bio-inspirada, que por su naturaleza poblacional resulta ideal para su programación paralela. El algoritmo PSO tiene buen desempeño, baja complejidad computacional y pocos parámetros. Estas técnicas heurísticas han sido extensamente estudiadas en los últimos veinte años y, aún hoy, la comunidad científica está interesada en alternativas tecnológicas que aceleren estos algoritmos a fin de aplicarlos a problemas más grandes y más complejos. |