Transparent distributed programming in Julia

Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019

Bibliographic Details
Main Author: Churavy, Valentin(Valentin Roland)
Other Authors: Alan Edelman.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2019
Subjects:
Online Access:https://hdl.handle.net/1721.1/122755
_version_ 1826201741554614272
author Churavy, Valentin(Valentin Roland)
author2 Alan Edelman.
author_facet Alan Edelman.
Churavy, Valentin(Valentin Roland)
author_sort Churavy, Valentin(Valentin Roland)
collection MIT
description Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019
first_indexed 2024-09-23T11:56:22Z
format Thesis
id mit-1721.1/122755
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T11:56:22Z
publishDate 2019
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1227552019-11-21T03:04:21Z Transparent distributed programming in Julia Churavy, Valentin(Valentin Roland) Alan Edelman. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Electrical Engineering and Computer Science. Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019 Cataloged from PDF version of thesis. Includes bibliographical references (pages 39-44). Scientific and engineering problems grow ever larger and more challenging, solving them requires taking advantage of domain expertise and modern compute capabilities. This encourages efficient usage of GPUs and using large scale cluster environments efficiently. Domain experts should not need to acquire the deep knowledge required to develop applications that scale, but rather should be able to express data science and engineering problems in terms of vectorized operations and linear algebra, that is in language inherent to the field. The approach introduced here, gives performance engineers access to low-level capabilities of the hardware, allowing them to collaborate with domain experts in the same language. This removes the need to rewrite scientific code in a low-level language, speeding up the iteration cycle and allowing for rapid prototyping. We investigate composable, layered abstractions for scientific computing. They separate the user intent, the what, from the how of the implementation and the where of the execution. The focus is on the distributed aspects, how array abstractions for distributed and accelerated computing can compose with each other and how we can provide access to low-level capabilities in a transparent fashion. Building and debugging these abstractions is challenging. This work introduces Cthulhu, a unique debugging tool for abstractions, that takes into consideration the dynamic execution model and the static compilation process of Julia. "This research is supported in part by NSF DMS-1312831, NSF OAC-1835443, Darpa XDATA, and an ARAMCO MITEI grant" by Valentin Churavy. S.M. S.M. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science 2019-11-04T20:22:39Z 2019-11-04T20:22:39Z 2019 2019 Thesis https://hdl.handle.net/1721.1/122755 1124856175 eng MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission. http://dspace.mit.edu/handle/1721.1/7582 44 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Churavy, Valentin(Valentin Roland)
Transparent distributed programming in Julia
title Transparent distributed programming in Julia
title_full Transparent distributed programming in Julia
title_fullStr Transparent distributed programming in Julia
title_full_unstemmed Transparent distributed programming in Julia
title_short Transparent distributed programming in Julia
title_sort transparent distributed programming in julia
topic Electrical Engineering and Computer Science.
url https://hdl.handle.net/1721.1/122755
work_keys_str_mv AT churavyvalentinvalentinroland transparentdistributedprogramminginjulia