Change search
ReferencesLink to record
Permanent link

Direct link
Extension of the SkePU Skeleton ProgrammingFramework for Multi-core CPU and Multi-GPU Systems for MPI-based Clusters
Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
2013 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

SkePU (Skeleton Programming Framework for Multi-core CPU and Multi-GPU Systems) is a parallel computing framework developed by Johan Enmyren and Christoph Kessler at Linköpings Universitet. This C++ template library provides a simple and unified interface for specifying data-parallel computations with the help of skeletons and is targeted to multiple backends e.g. for a sequential CPU, parallel CPUs using MPI and OpenMP or GPUs using CUDA and OpenCL. SkePU is comprised of seven data-parallel skeletons and one task-parallel skeleton and these skeletons use two types of containers: vector and matrix to model real-life parallel applications. In this thesis, we address the extension of the SkePU framework by extending the matrix container (which stores 2-D data values) that can efficiently use the existing skeletons to develop parallel scientific applications on large-scale clusters using MPI. This piece of work focuses on the distribution of the matrix among the participating processes which after receiving their share of data can execute the application in parallel. This work covers all of the seven data-parallel skeletons. Each skeleton has been tested with a small application program. In addition to measurement of performance improvement from the application program’s execution time, we have also done a communication cost analysis for all skeletons with MPI using the LogGP model. In order to evaluate and test the operational efficiency of the extension, we have considered a PDE solver application. Through this application, we have demonstrated the performance gain and scalability of the extended framework. The performance improvement was more when computational load dominates the memory I/O operations. The results show that using the extension can serve as a viable approach while implementing real-life parallel applications on large-scale clusters.

Place, publisher, year, edition, pages
2013. , 136 p.
Keyword [en]
SkePU, Skeleton Programming Framework, C++ template library, Matrix container, Skeleton programmig on MPI-based clusters, Parllel Programming on Multi-core processors
National Category
Electrical Engineering, Electronic Engineering, Information Engineering Computer Systems
URN: urn:nbn:se:liu:diva-98813ISRN: LIU-IDA/LITH-EX-A--13/052--SEOAI: diva2:656039
Subject / course
Computer and information science at the Institute of Technology
2013-10-07, Alan Turing, B-Building, Campus Valla, Linköpings Uniersitet, Linköping, 10:00 (English)
Available from: 2013-10-25 Created: 2013-10-14 Last updated: 2013-10-25Bibliographically approved

Open Access in DiVA

Extension of the SkePU Skeleton ProgrammingFramework for Multi-core CPU and Multi-GPU Systems for MPI-based Clusters(2371 kB)272 downloads
File information
File name FULLTEXT01.pdfFile size 2371 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Mangaraj, Swadhin K
By organisation
Software and SystemsThe Institute of Technology
Electrical Engineering, Electronic Engineering, Information EngineeringComputer Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 272 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 464 hits
ReferencesLink to record
Permanent link

Direct link