The growing amount of photovoltaic systems in urban environments creates peaks of energy generation in local energy grids. These peaks can lead to unwanted instability in the electrical grid. By aligning solar panels differently, spikes could be avoided. Planning locations for solar panels in urban environments is very time-intense as they require a high spatial and temporal resolution. The aim of this thesis is to investigate the decrease in runtime of planning applications by parallelizing ray-casting algorithms. This thesis includes a software tool for professionals and laymen, which has been developed in a user centered design process and shows ways to perform those calculations on a graphics processing unit.After creating a computational concept and a concept of the software design, those concepts have been implemented starting with an implementation of the Möller-Trumbore ray-casting algorithm which has been run with Python on the central processing unit (CPU). Further the same test with the same algorithm and the same data has been performed on the graphics processing unit (GPU) by using PyCUDA, a Python wrapper for NVIDIAs Compute Unified Device Architecture (CUDA). Both results were compared resulting in, that parallelizing, transferring and performing those calculations on the graphics processing unit can decrease the runtime of a software significantly. In the used system setup, the same calculations were 42 times faster on the Graphics Processing Unit than on the Central Processing Unit. It was also found, that other factors such as the time of the year, the location of the tested points in the data model, the test interval length and the algorithm design of the ray-casting algorithm have a major impact on the performance of such. In the test scenario the processing time for the same case, but just during another time of the year, increases by factor 4.The findings of this thesis can be used in a wide range of software as it shows, that computationally intensive calculations can easily be sourced out from the Python code and executed on another platform. By doing so, the runtime can be significantly decreased and the whole software package can get an enormous speed boost.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:hig-26144 |
Date | January 2017 |
Creators | Eggers, Patrick |
Publisher | Högskolan i Gävle, Samhällsbyggnad, GIS |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0024 seconds