Comparativa de implementaciones de algoritmos evolutivos para Python, OpenMP y CUDA, utilizando una paralelización en GPU Pérez Simón, Cristóbal García Arenas, María Isabel GPU Python C++ CUDA Algoritmo evolutivo Evolutive Algorithm En este proyecto se plantea un análisis de diferentes lenguajes de programación que emplean paralelización en GPU utilizando para ello dos algoritmos basados en combinación aleatoria que buscan la solución a un problema relacionado con la distribución de estaciones de bicicletas dentro de una ciudad.. El objetivo central es poner en práctica los conocimientos aprendidos en las asignaturas como Arquitectura y Computación de Altas Prestaciones (ACAP) y Arquitectura de Computadores (AC) acerca de las técnicas aplicables para poder ejecutar código paralelo en un dispositivo coprocesador, así como de otras asignaturas relacionadas con la ingeniería de software y hacer un análisis de resultados de los lenguajes empleados con el objetivo de decidir qué implementación ofrece más ventajas de cara a mejorar el rendimiento del algoritmo y su robustez, minimizando así los costes de implementación y los costes de ejecución, reduciendo así el impacto energético y contribuyendo a tres de los objetivos de desarrollo sostenible como son el 7, el 11 y el 13, todos relacionados de alguna forma con el consumo y la eficiencia en el mismo de la energía. This project proposes an analysis of different programming languages that use GPU parallelization using two random combination-based algorithms to solve a problem related to the distribution of bicycle stations within a city. The main objective is to put into practice the knowledge acquired in subjects such as High Performance Architecture and Computing (ACAP) and Computer Architecture (AC) about the applicable techniques to be able to execute parallel code on a coprocessor device, as well as other subjects related to software engineering. The goal is to analyze the results of the languages used and to determine which implementation offers the most advantages in terms of improving the algorithm's performance and robustness, while minimizing implementation and execution costs, thus reducing the energy impact and contributing to three sustainable development goals: 7, 11, and 13, all of which are related in some way to energy consumption and efficiency. 2024-09-19T11:18:56Z 2024-09-19T11:18:56Z 2024 bachelor thesis https://hdl.handle.net/10481/94739 spa http://creativecommons.org/licenses/by-nc-nd/4.0/ open access Attribution-NonCommercial-NoDerivatives 4.0 Internacional