2014 First Workshop for High Performance Technical Computing in Dynamic Languages 2014
DOI: 10.1109/hptcdl.2014.9
|View full text |Cite
|
Sign up to set email alerts
|

Parallel Prefix Polymorphism Permits Parallelization, Presentation & Proof

Abstract: Polymorphism in programming languages enables code reuse. Here, we show that polymorphism has broad applicability far beyond computations for technical computing: parallelism in distributed computing, presentation of visualizations of runtime data flow, and proofs for formal verification of correctness. The ability to reuse a single codebase for all these purposes provides new ways to understand and verify parallel programs.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
3
1

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(3 citation statements)
references
References 45 publications
0
3
0
Order By: Relevance
“…Mathematical thought is naturally polymorphic. Multimethods are a natural mechanism for capturing such polymorphism [6,14]. Consider an operation as fundamental as multiplication: an expression like a*b can mean a matrix-matrix product, a matrix-vector product, or a scalar-vector product, to name just a few possibilities.…”
Section: Generic Functions and Multimethodsmentioning
confidence: 99%
“…Mathematical thought is naturally polymorphic. Multimethods are a natural mechanism for capturing such polymorphism [6,14]. Consider an operation as fundamental as multiplication: an expression like a*b can mean a matrix-matrix product, a matrix-vector product, or a scalar-vector product, to name just a few possibilities.…”
Section: Generic Functions and Multimethodsmentioning
confidence: 99%
“…Others have explored using high-level frameworks for GPU computing with Julia [17]. Chen et al investigated using polymorphic code features in Julia applied to parallel and distributed computing [18]. It has also been shown to work well for classic scientific problems, such as convex optimization [19], PDE solving [20], and discrete event-driven simulation [21].…”
Section: A Overview Of Juliamentioning
confidence: 99%
“…The exclamation mark suffix follows the convention in Julia denoting that the function mutates at least one of its arguments. In this case, it caches the best fit X and Y as glrm.X and glrm.Y [CE14].…”
Section: Julia Implementationmentioning
confidence: 99%