Performance Evaluation of Different Vector Lengths on an Implementation of Merge Sort Using ARM Scalable Vector Extension (SVE)
2024 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesisAlternative title
Utvärdering av Prestanda för Olika Vektorlängder på en Implementation av Mergesortering med Hjälp av ARM Scalable Vector Extension (SVE) (Swedish)
Abstract [en]
Modern day research and technology require calculations on large data sets. Groundbreaking technology like artificial intelligence and machine learning are just two examples of technologies that requires computation on large data sets. To increase the speed of the computations, parallelism is needed. While multi-threading works well, it has limitations that some say will be more prominent in the future. Because of these limitations, alternative ways of parallelism such as vectorization needs to be considered. Vectorization has its own limitations, one limitation being the fixed vector length determined at compile time. The introduction of ARM’s Scalable Vector Extension (SVE) allows scalable vectors from 128 to 2048 bits which is determined at runtime. This thesis investigates the efficiency of increasing the vector length on a bitonic merge sort using SVE. We found that a vectorization of the scalar implementation yielded a speedup efficiency of up 55%. Increasing the vector length yielded a speedup of up to 7 times. The increase in performance for larger vector lengths scales in a similar way to known formulas commonly used for multi-processing. Furthermore the result indicate that the performance benefit from larger vector lengths are more prominent on larger problems sizes.
Abstract [sv]
Inom modern forskning och teknik krävs beräkningar på stora datamängder. Banbrytande teknik som artificiell intelligens och maskininlärning är två exempel på teknologier som kräver den typen av beräkningar. För att minska exekveringstiden för beräkningarna är ett vanligt tillvägagångsätt parallellism. Multitrådning är en vanlig typ av parallelism med kända begränsningar. På grund av dessa begränsningar blir det mer relevant att undersöka alternativa sätt för parallellism såsom vektorisering. Vektorisering har tidigare varit begränsat på grund av den fasta vektorlängden som fastställs vid kompilering. Introduktionen av ARM’s Scalable Vector Extension (SVE) tillåter vektorer med 128 till 2048 bitar som istället fastställs vid exekvering. Denna avhandling undersöker effektiviteten av att öka vektorlängden på en bitonisk mergesortering med hjälp av SVE. Vi fann att en vektorisering av den skalära implementeringen gav en prestanda effektivitet på upp till 55%. Ökningen av vektorlängden resulterade i en hastighetsökning på upp till 7 gånger. Prestandautvecklingen vid ökning av vektorlängden har påvisats följa kända formler som vanligtvis används för multitrådning. Resultaten indikerar att ökningen utav vektorlängden har större påverkan på större problem.
Place, publisher, year, edition, pages
2024. , p. 23
Series
TRITA-EECS-EX ; 2024:334
Keywords [en]
SIMD, Vectorization, Parallelism, SVE, Sort, Merge sort, Bitonic sort
Keywords [sv]
SIMD, Vektorisering, Parallelism, SVE, Merge sortering, Bitonic sortering
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-356195OAI: oai:DiVA.org:kth-356195DiVA, id: diva2:1912183
Subject / course
Computer Science
Educational program
Master of Science in Engineering - Computer Science and Technology
Supervisors
Examiners
2024-11-182024-11-112024-11-18Bibliographically approved