A domain-specific language for geospatial computations on the GPU: A study on the level of functionality and the performance gains
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Ett domänspecifikt språk för geospatiala beräkningar på GPU:n : En studie på användbarhet och prestandaförbättringar (Swedish)
Abstract [en]
This thesis explores how a domain-specific language (DSL) for simple geospatial operators on the GPU can be developed, and evaluates the level of functionality and performance of such a DSL. The purpose of such a DSL is to simplify implementation of geospatial operators on the GPU, in order to increase productivity and performance.
An embedded and interpreted DSL was designed and implemented according to the geospatial domain. The level of functionality of the DSL was evaluated based on what geospatial operators are supported and with the Framework for Qualitative Assessment of DSLs (FQAD). The level of functionality was evaluated to high for the DSL, as simple geospatial operators are supported and the FQAD evaluation determined that the DSL was effective. To evaluate the performance gains, three interpreters for the DSL were implemented, one sequential on the CPU, one parallel on the CPU and one on the GPU. The execution time for five geospatial operators and algorithms was measured for different problem sizes for the three interpreters. The GPU interpreter achieved large speedups for large problem sizes compared to the sequential CPU interpreter. The GPU interpreter achieved speedups for four out of five operators compared to the parallel CPU interpreter for large problem sizes. In conclusion, this thesis demonstrates the potential of a domain-specific language for geospatial computations on the GPU.
Abstract [sv]
Denna uppsats undersöker hur ett domänspecifikt språk (DSL) för enkla geospatiala operatorer på GPU:n kan utvecklas, och utvärderar användbarheten och prestandan för ett sådant DSL. Syftet med ett sådant DSL är att förenkla implementationen av geospatiala operatorer på GPU:n, för att öka produktivitet och prestanda.
Ett inbyggt och interpreterat DSL designades och implementerades utefter den geospatiala domänen. Användbarheten av DSL:en utvärderades baserat på vilka geospatiala operatorer som stöds och med Framework for Qualitative Assessment of DSLs (FQAD). Användbarheten utvärderades till hög för DSLen, eftersom enkla geospatiala operatorer stöds och FQAD utvärderingen kom fram till att DSLen var effektiv. För att utvärdera prestandaförbättringar implementerades tre interpreterare, en sekventiell på CPUn, en parallel på CPUn och en på GPU:n. Körtiden för fem geospatiala operatorer och algorithmer mättes för olika problemstorlekar för de tre interpreterarna. GPU implementationen hade bättre prestanda i jämförelse med den sekventiella CPU implementationen för stora problemstorlekar. GPU implementationen hade bättre prestanda för fyra av fem operatorer i jämförelse med den parallela CPU implementationen för stora problemstorlekar. Sammanfattningsvis visar detta projekt på potentialen för ett domänspecifikt språk för geospatiala beräkningar på GPU:n.
Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology , 2024. , p. 53
Series
TRITA-EECS-EX ; 2024:601
Keywords [en]
Domain-specific language, Geospatial, Graphics processing unit
Keywords [sv]
Domänspecifikt språk, Geospatial, Grafikprocessor
National Category
Computer Sciences Computer Engineering
Identifiers
URN: urn:nbn:se:kth:diva-353249OAI: oai:DiVA.org:kth-353249DiVA, id: diva2:1897676
External cooperation
Carmenta Geospatial Technology
Subject / course
Computer Science
Educational program
Master of Science in Engineering - Computer Science and Technology
Supervisors
Examiners
2024-10-022024-09-132024-10-02Bibliographically approved