Enhancing and Porting the HPC-Lab Snow Simulator to OpenCL on Mobile Platforms
MetadataVis full innførsel
Porting a computationally demanding CUDA application to a GPU designed for mobile phones and tablets, which supports OpenCL, is the subject of this thesis.Significant effort is made to prepare the snow simulator of the HPC-LAB at IDI, NTNU, for porting to an OpenCL capable GPU for mobile phones, with a reasonably limited effort, when it arrives. The snow simulator is ported to OpenCL, documented, and improved by considering multiple sorting algorithms, as well as sorting the snow particles.A thorough study of GPUs for mobile devices and high performance computing, as well as their history is conducted to serve as a background for future porting of the simulator.The core code resulting from the OpenCL port is documented in detail to prepare for future projects on completing the port to a mobile device.The OpenCL port of the snow simulator is tested on a range of different OpenCL implementa- tions. The performance of GPUs designed for different use is compared, and memory manage- ment is identified as the biggest bottleneck for performance. This bottleneck is further investi- gated by studying the performance of the simulator when disabling certain copy operations.OpenCL supports more than just GPU devices. CPUs, Cell processors, and other acceleration cards are also supported. To investigate OpenCL on other devices, a part of the simulation is executed on a CPU, and compared with executing it on a GPU. The CPU version perform on par with the GPU version when using a laptop GPU.