Other authors

Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors

Fornes De Juan, Jordi

Martorell Bofill, Xavier

Publication date

2026-01-23



Abstract

En una era de ràpid avenç tecnològic i de programari cada vegada més complex, la computació paral·lela s'ha convertit en un element essencial per optimitzar el rendiment i aprofitar al màxim el potencial dels processadors multinúcli moderns. A mesura que les càrregues computacionals augmenten, un paral·lelisme eficient esdevé clau per reduir tant el temps d'execució com el consum energètic, fet que converteix l'elecció del model de programació paral·lela en un aspecte crític per a desenvolupadors i investigadors. Aquest projecte investiga i compara dos paradigmes àmpliament utilitzats de computació paral·lela: Grand Central Dispatch (GCD) d'Apple i l'enfocament tradicional OpenMP. L'objectiu és analitzar la seva eficàcia a l'hora de gestionar tasques computacionalment intensives, posant especial èmfasi en el rendiment en temps d'execució i en el consum d'energia. Per assolir aquest objectiu, s'utilitza la multiplicació de matrius (matrix multiplication o matmul) com a càrrega de treball de referència, ja que es tracta d'una operació àmpliament reconeguda com a "benchmark" per a l'avaluació del rendiment. L'estudi consisteix a implementar i provar algoritmes de matmul paral·lelitzats utilitzant GCD amb Swift i OpenMP, executant les computacions a Molins, un servidor remot equipat per a tasques d'alt rendiment. Aquest treball permet avaluar els compromisos entre les característiques 3 específiques de plataforma que ofereix GCD i la portabilitat i flexibilitat que proporciona OpenMP. Mitjançant la comparació d'aquestes tecnologies, el projecte pretén aportar una visió clara de les seves fortaleses i febleses relatives, oferint criteris útils per escollir l'eina més adequada per aconseguir un paral·lelisme eficient en aplicacions del món real.


In an era of rapidly advancing technology and increasingly complex software, parallel computing has become essential for optimizing performance and harnessing the full potential of modern multi-core processors. As computational workloads grow, efficient parallelism is vital to reduce execution time and energy consumption, making the choice of parallel programming frameworks a critical consideration for developers and researchers. This project investigates and compares two popular parallel computing paradigms: Apple's Grand Central Dispatch (GCD) and the traditional OpenMP. The goal is to analyze their effectiveness in handling computationally intensive tasks, focusing on their performance in execution time and power consumption. To achieve this, we employ matrix multiplication (matmul) as a benchmarking workload, a widely-recognized computation for performance evaluation. The study involves implementing and testing parallelized matmul algorithms using GCD with Swift and OpenMP, executing the computations on Molins, a remote server equipped for high- performance tasks. This work evaluates the trade-offs between GCD's platform-specific features and OpenMP's portability and flexibility. By comparing these technologies, this project aims to provide insights into their relative strengths and weaknesses, offering guidance on the best tool for achieving efficient parallelism in real-world applications.


En una era de rápido avance tecnológico y de software cada vez más complejo, la computación paralela se ha convertido en un elemento esencial para optimizar el rendimiento y aprovechar al máximo el potencial de los procesadores multinúcleo modernos. A medida que las cargas computacionales crecen, un paralelismo eficiente resulta clave para reducir los tiempos de ejecución y el consumo energético, lo que convierte la elección del modelo de programación paralela en un aspecto crítico para desarrolladores e investigadores. Este proyecto investiga y compara dos paradigmas ampliamente utilizados de computación paralela: Grand Central Dispatch (GCD) de Apple y el enfoque tradicional OpenMP. El objetivo es analizar su eficacia en la gestión de tareas computacionalmente intensivas, poniendo el foco en el rendimiento en tiempo de ejecución y en el consumo de energía. Para ello, se utiliza la multiplicación de matrices (matrix multiplication o matmul) como carga de trabajo de referencia, una operación ampliamente reconocida como “benchmark” para la evaluación del rendimiento. El estudio consiste en implementar y probar algoritmos de matmul paralelizados utilizando GCD con Swift y OpenMP, ejecutando las pruebas en Molins, un servidor remoto preparado para tareas de alto rendimiento. Este trabajo evalúa los compromisos entre las características específicas de plataforma que ofrece GCD y la portabilidad y flexibilidad que proporciona OpenMP. Mediante la comparación de estas tecnologías, el proyecto pretende aportar una visión clara de sus fortalezas y debilidades relativas, ofreciendo criterios útiles para la elección de la herramienta más adecuada a la hora de lograr un paralelismo eficiente en aplicaciones del mundo real.

Document Type

Bachelor thesis

Language

English

Publisher

Universitat Politècnica de Catalunya

Recommended citation

This citation was generated automatically.

Rights

Open Access

This item appears in the following Collection(s)