[ca] Arrel de l'interès per ser capaç d'utilitzar les llibreries de NumPy amb MKL en entorns distribuïts, va sorgir una col·laboració entre Intel R i el departament de Workflows and distributed computing del BSC. Aquest treball explora un seguit de possibles línies d'investigació que tenen per objectiu millorar el rendiment i facilitar la utilització simultània de MKL a través de NumPy i PyCOMPSs per a realitzar operacions d'àlgebra lineal en entorns distribuïts. Pel que fa als algoritmes matemàtics utilitzats, en una primera instància es busquen solucions per aconseguir un rendiment màxim de l'algoritme de multiplicació de matrius mitjançant la descomposició de les mateixes en blocs quadrats. A continuació, s'ha adaptat el codi ja present al BSC per calcular la factorització de Cholesky amb inicialització distribuïda i augmentar-ne el paral·lelisme. L'última tasca realitzada en aquest apartat consisteix en la implementació d'un algoritme per al càlcul de la descomposició QR mitjançant la descomposició en matrius quadrades i inicialització distribuïda. Tenint en compte la importància de la planificació per obtenir un bon rendiment de les aplicacions, a continuació s'ha procedit a fer una refactorització del planificador per introduir-hi un conjunt de noves polítiques. Concretament, s'han afegit planificadors que segueixen una política FIFO, una LIFO i una FIFO modificada per prioritzar la localitat de les dades i minimitzar així la quantitat de transferències. Finalment, s'ha dissenyat i implementat una llibreria que utilitza un sistema de wrapping sobre la llibreria NumPy que permet la introducció progressiva dels algoritmes distribuïts sense la necessitat d'implementar-la tota de cop. En tot moment es garanteix, però, que l'usuari podrà accedir a totes les funcionalitats de la llibreria original.

[es] A raíz del interés por ser capaces de utilitzar las librerias de NumPy con MKL en entornos distribuidos, surgió una colaboración entre Intel R i el departamento de Workflows and distributed computing del BSC. Este trabajo explora un conjunto de posibles lineas de investigación que tienen por objetivo mejorar el rendimiento y facilitar la utilización simultánea de MKL a través de NumPy i PyCOMPSs para realizar operaciones de álgebra lineal en entornos distribuidos. En lo que afecta a los algoritmos matemáticos utilizados, en una primera instancia se buscan soluciones para conseguir un rendimiento máximo de la multiplicación de matrices mediante la descomposicion de las mismas en bloques cuadrados. A continuación, se ha adaptado el código ya existente en el BSC para calcular la factorización de Cholesky con la inicialización distribuida i aumentar su grado de paralelismo. La última tarea realizada consiste en la implementación de un algoritmo para el cálculo de la descomposición QR mediante la descomposición de la matriz en bloques cuadrados realizando la inicialización de forma distribuida. Considerando el impacto de la planificación para obtener un buen rendimiento de las aplicaciones, a continuación se ha procedido a realizar una refactorización del planificador con el objetivo de introducir nuevas políticas. Concretamente, se han añadido planificadores que siguen una política FIFO, una LIFO i una FIFO modificada para priorizar la localidad de los datos y evitar así el número de transferencias. Finalmente, se ha diseñado e implementado una librería que utiliza un sistema de wrapping sobre la librería NumPy que permite la introducción progresiva de los algoritmos distribuidos sin la necesidad de implementar-la toda de golpe a la vez que el usuario sigue teniendo acceso a todas las funcionalidades de la librería original.