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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |