[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.

[en] In the wake of the interest in being capable to use MKL through NumPy in distributed systems, a collaboration between Intel R and the BSC's Work- flows and distributed computing department has been created. This work explores several possible investigation lines that aims to improve the behaviour and ease the use of NumPy with MKL and PyCOMPSs simultaneously to carry out linear algebra operations in distributed systems. Regarding the used algorithms, first of all some solutions are explored to achieve a better performance in the blocked matrix multiplication. Next, the code already present in the center that computes the Cholesky factorisation has been modified in order to improve his parallelisation level and initialise the matrix in a distributed way. Finally, an algorithm to compute a QR decomposition through the matrix decomposition in smaller square matrix initialized in a distributed way has been implemented. Next, a refactor in the COMPSs scheduler has been done in order to ease the creation of new scheduling policies. Once this work has been done, some new schemes has been added. In particular, schedulers with FIFO, LIFO and FIFO modified to schedule child tasks in the father's worker to minimize the amount of data transfers has been added. Finally, a library that wraps the entire NumPy library has been implemented. This new environment allows the team to introduce the distributed implementations progressively assuring that importing it the user will have access to the full stack of NumPy's functionalities, even those not still implemented.