Code refactoring of HPC applications for multicore processors

Speed has always been one of the most important components for computing system benchmarking. In this report, we present an Eclipse-based user-guided refactoring plug-in that assists the users to refactor sequential C++ programs for parallelism. This refactoring plug-in will use the Intel Threading...

Full description

Saved in:
Bibliographic Details
Main Author: Low, Teck Seng.
Other Authors: Stephen John Turner
Format: Final Year Project
Language:English
Published: 2012
Subjects:
Online Access:http://hdl.handle.net/10356/48564
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-48564
record_format dspace
spelling sg-ntu-dr.10356-485642023-03-03T20:23:33Z Code refactoring of HPC applications for multicore processors Low, Teck Seng. Stephen John Turner School of Computer Engineering Parallel and Distributed Computing Centre DRNTU::Engineering::Computer science and engineering::Computer systems organization::Performance of systems Speed has always been one of the most important components for computing system benchmarking. In this report, we present an Eclipse-based user-guided refactoring plug-in that assists the users to refactor sequential C++ programs for parallelism. This refactoring plug-in will use the Intel Threading Building Block (TBB) parallel library to achieve parallelism. This plug-in will help the users to identify Standard Template Library (STL) vector and refactor to the corresponding TBB containers to ensure thread-safety. The parallelism can be achieved by using the TBB parallel_for function to replace loops. This plug-in will also help the user to identify all the vector iterators for-loops and allow them to select and refactor to the equivalent parallel operations. At the end of this report, we used this plug-in to refactor an actual application, N-Body Simulation, and benchmarked the performance. The result showed that the performance was increased by 8 times when running on an eight-core machine. Bachelor of Engineering (Computer Science) 2012-04-26T04:40:39Z 2012-04-26T04:40:39Z 2012 2012 Final Year Project (FYP) http://hdl.handle.net/10356/48564 en Nanyang Technological University 41 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering::Computer systems organization::Performance of systems
spellingShingle DRNTU::Engineering::Computer science and engineering::Computer systems organization::Performance of systems
Low, Teck Seng.
Code refactoring of HPC applications for multicore processors
description Speed has always been one of the most important components for computing system benchmarking. In this report, we present an Eclipse-based user-guided refactoring plug-in that assists the users to refactor sequential C++ programs for parallelism. This refactoring plug-in will use the Intel Threading Building Block (TBB) parallel library to achieve parallelism. This plug-in will help the users to identify Standard Template Library (STL) vector and refactor to the corresponding TBB containers to ensure thread-safety. The parallelism can be achieved by using the TBB parallel_for function to replace loops. This plug-in will also help the user to identify all the vector iterators for-loops and allow them to select and refactor to the equivalent parallel operations. At the end of this report, we used this plug-in to refactor an actual application, N-Body Simulation, and benchmarked the performance. The result showed that the performance was increased by 8 times when running on an eight-core machine.
author2 Stephen John Turner
author_facet Stephen John Turner
Low, Teck Seng.
format Final Year Project
author Low, Teck Seng.
author_sort Low, Teck Seng.
title Code refactoring of HPC applications for multicore processors
title_short Code refactoring of HPC applications for multicore processors
title_full Code refactoring of HPC applications for multicore processors
title_fullStr Code refactoring of HPC applications for multicore processors
title_full_unstemmed Code refactoring of HPC applications for multicore processors
title_sort code refactoring of hpc applications for multicore processors
publishDate 2012
url http://hdl.handle.net/10356/48564
_version_ 1759858073753616384