Chunks and Tasks is a programming model based on the C ++ programming language. This programming model is used for electronic structure calculations, among other things.The purpose of this project is to improve the CHT-MPI software library for Chunks and tasks, so that calculations of matrix-matrix multiplications are performed more efficiently than they do with the existing software library. The software library is based on the work stealing method, which is a method the software library for Chunks and Tasks uses for the distribution of the calculation work. The considered way to improve the software library is by modifying the work stealing method in a way that makes the distribution of calculation work happen in a more efficient way , which will lead to calculations performed faster than before.Two different modifications of the work stealing method were tested and it led to two new methods, Method 1 and Method 2, which distributed the calculation work differently. Method 1 did not give results that were compatible with the theory, since the calculation time with this method was much longer than the previous method. The results for method 2 were compatible with the theory for the method. Method 2 distributed the calculation work more efficiently than before which decreased the amount of data sent during the calculations, which led to a shorter calculation time than with the previous method. This method made an improvement of the software library for the programming model Chunks and Tasks. / Chunks and Tasks är en programmeringsmodell baserad på programspråket C++. Denna programmeringsmodell används vid bl.a. metoder för lösningar av Schrödingerekvationen för elektronerna i molekyler. Syftet med detta projekt är att förbättra mjukvarubiblioteket för Chunks and Tasks, så att beräkningar av matris-matris-multiplikationer utförs på ett effektivare sätt än vad de gör med det existerande mjukvarubiblioteket. Mjukvarubiblioteket använder sig av work stealing-metoden vid fördelning av beräkningsarbetet. Det är tänkt att mjukvarubiblioteket ska förbättras genom att just modifiera work stealing-metoden på ett sätt som får arbetsfördelningen att ske på ett smidigare sätt, vilket i sin tur ska leda till att beräkningarna utförs under en kortare tid än tidigare. Två olika ändringar av work stealing-metoden testades och man fick två nya metoder, metod 1 och metod 2, som fördelade beräkningsarbetet olika sätt. Det som söktes var en metod som kunde minska mängden data som skickades under beräkningarna av olika matris-matrismultiplikationer, då en minskad data-mängd innebar en förkortning av beräkningstiden. Med metod 1 fick man en försämring, då beräkningstiderna blev mycket längre än tidigare. Med metod 2 erhöll man ett bättre resultat, med denna metod fördelades arbetet på ett effektivare sätt som ledde till att mängden data som skickades minskade, vilket även betydde att beräkningstiderna kortades ner. Med denna metod fick man en förbättring av mjukvarubiblioteket för programmeringsmodellen Chunks and Tasks.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:uu-254666 |
Date | January 2015 |
Creators | El Harbiti, Deeb |
Publisher | Uppsala universitet, Avdelningen för beräkningsvetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TVE ; TVE 15 038 juni |
Page generated in 0.0016 seconds