En este documento se expondrá una implementación del problema
del viajante de comercio usando una implementación personalizada de un
mapa auto-organizado basándose en soluciones anteriores y adaptándolas a la
arquitectura CUDA, haciendo a la vez una comparativa de la implementación
eficiente en CUDA C/C++ con la implementación de las funciones de GPU
incluidas en el Parallel Computing Toolbox de Matlab.
La solución que se da reduce en casi un cuarto las iteraciones necesarias para
llegar a una solución buena del problema mencionado, además de la mejora
inminente del uso de las arquitecturas paralelas. En esta solución se estudia la
mejora en tiempo que se consigue con el uso específico de la memoria
compartida, siendo esta una de las herramientas más potentes para mejorar el
rendimiento.
En lo referente a los tiempos de ejecución, se llega a concluir que la mejor
solución es el lanzamiento de un kernel de CUDA desde Matlab a través de la
funcionalidad incluida en el Parallel Computing Toolbox.