High-performance computing with PetaBricks and Julia
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Mathematics, 2011.
Main Author: | |
---|---|
Other Authors: | |
Format: | Thesis |
Language: | eng |
Published: |
Massachusetts Institute of Technology
2011
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/67818 |
_version_ | 1826194456092606464 |
---|---|
author | Wong, Yee Lok, Ph. D. Massachusetts Institute of Technology |
author2 | Alan Edelman. |
author_facet | Alan Edelman. Wong, Yee Lok, Ph. D. Massachusetts Institute of Technology |
author_sort | Wong, Yee Lok, Ph. D. Massachusetts Institute of Technology |
collection | MIT |
description | Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Mathematics, 2011. |
first_indexed | 2024-09-23T09:56:23Z |
format | Thesis |
id | mit-1721.1/67818 |
institution | Massachusetts Institute of Technology |
language | eng |
last_indexed | 2024-09-23T09:56:23Z |
publishDate | 2011 |
publisher | Massachusetts Institute of Technology |
record_format | dspace |
spelling | mit-1721.1/678182019-04-11T05:22:09Z High-performance computing with PetaBricks and Julia Wong, Yee Lok, Ph. D. Massachusetts Institute of Technology Alan Edelman. Massachusetts Institute of Technology. Dept. of Mathematics. Massachusetts Institute of Technology. Dept. of Mathematics. Mathematics. Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Mathematics, 2011. Cataloged from PDF version of thesis. Includes bibliographical references (p. 163-170). We present two recent parallel programming languages, PetaBricks and Julia, and demonstrate how we can use these two languages to re-examine classic numerical algorithms in new approaches for high-performance computing. PetaBricks is an implicitly parallel language that allows programmers to naturally express algorithmic choice explicitly at the language level. The PetaBricks compiler and autotuner is not only able to compose a complex program using fine-grained algorithmic choices but also find the right choice for many other parameters including data distribution, parallelization and blocking. We re-examine classic numerical algorithms with PetaBricks, and show that the PetaBricks autotuner produces nontrivial optimal algorithms that are difficult to reproduce otherwise. We also introduce the notion of variable accuracy algorithms, in which accuracy measures and requirements are supplied by the programmer and incorporated by the PetaBricks compiler and autotuner in the search of optimal algorithms. We demonstrate the accuracy/performance trade-offs by benchmark problems, and show how nontrivial algorithmic choice can change with different user accuracy requirements. Julia is a new high-level programming language that aims at achieving performance comparable to traditional compiled languages, while remaining easy to program and offering flexible parallelism without extensive effort. We describe a problem in large-scale terrain data analysis which motivates the use of Julia. We perform classical filtering techniques to study the terrain profiles and propose a measure based on Singular Value Decomposition (SVD) to quantify terrain surface roughness. We then give a brief tutorial of Julia and present results of our serial blocked SVD algorithm implementation in Julia. We also describe the parallel implementation of our SVD algorithm and discuss how flexible parallelism can be further explored using Julia. by Yee Lok Wong. Ph.D. 2011-12-19T19:01:24Z 2011-12-19T19:01:24Z 2011 2011 Thesis http://hdl.handle.net/1721.1/67818 768002316 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 170 p. application/pdf Massachusetts Institute of Technology |
spellingShingle | Mathematics. Wong, Yee Lok, Ph. D. Massachusetts Institute of Technology High-performance computing with PetaBricks and Julia |
title | High-performance computing with PetaBricks and Julia |
title_full | High-performance computing with PetaBricks and Julia |
title_fullStr | High-performance computing with PetaBricks and Julia |
title_full_unstemmed | High-performance computing with PetaBricks and Julia |
title_short | High-performance computing with PetaBricks and Julia |
title_sort | high performance computing with petabricks and julia |
topic | Mathematics. |
url | http://hdl.handle.net/1721.1/67818 |
work_keys_str_mv | AT wongyeelokphdmassachusettsinstituteoftechnology highperformancecomputingwithpetabricksandjulia |