Parallel and Multi-Locale Computing in Scientific Computing Algorithms using Chapel

Date
2020
Journal Title
Journal ISSN
Volume Title
Publisher
Producer
Director
Performer
Choreographer
Costume Designer
Music
Videographer
Lighting Designer
Set Designer
Crew Member
Funder
Rehearsal Director
Concert Coordinator
Moderator
Panelist
Alternative Title
Department
Haverford College. Department of Computer Science
Type
Thesis
Original Format
Running Time
File Format
Place of Publication
Date Span
Copyright Date
Award
Language
eng
Note
Table of Contents
Terms of Use
Rights Holder
Access Restrictions
Open Access
Tripod URL
Identifier
Abstract
Parallel and clustered implementations of scientific computing algorithms, while fast, can be very difficult for a human to parse. This is because the industry standard method of writing parallel code is to use complicated libraries that extend existing languages such as OpenMP C. Sometimes a programmer even needs more than one library at a time. Attempts have been made to avoid this problem via automatic parallelizing compilers that use mathematical abstractions of loops in code to recognize dependencies and generate parallel code accordingly. Unfortunately, these compilers have their limitations. We propose that a solution to this problem could come in the form of the Chapel programming language. Chapel is a language developed by Cray Inc. that was specifically designed to be used for parallel and clustered programming. Because of this design choice, all the parallel features in Chapel are standard, requiring no additional libraries. In this thesis, we review existing approaches to parallelizing code, using BLAS as our primary example, and present how we might use Chapel to create fast code that humans can understand.
Description
Citation
Collections