Difference between revisions of "Midnight Tiger"

From CDOT Wiki
Jump to: navigation, search
(Introduction to Chapel Cray)
(Introduction to Chapel)
Line 7: Line 7:
  
 
Chapel(Cascade High-Productivity Language) is an alternative parallel programming language that focuses on the productivity of high-end computing systems.
 
Chapel(Cascade High-Productivity Language) is an alternative parallel programming language that focuses on the productivity of high-end computing systems.
 +
 +
Chapel Overview
 +
 +
Though it would be impossible to give a thorough introduction to Chapel in the space of this article, the following characterizations of the language should serve to give an idea of what we are pursuing:
 +
 +
General Parallelism: Chapel has the goal of supporting any parallel algorithm you can conceive of on any parallel hardware you want to target.  In particular, you should never hit a point where you think “Well, that was fun while it lasted, but now that I want to do x, I’d better go back to MPI.”
 +
Separation of Parallelism and Locality: Chapel supports distinct concepts for describing parallelism (“These things should run concurrently”) from locality (“This should be placed here; that should be placed over there”).  This is in sharp contrast to conventional approaches that either conflate the two concepts or ignore locality altogether.
 +
Multiresolution Design: Chapel is designed to support programming at higher or lower levels, as required by the programmer.  Moreover, higher-level features—like data distributions or parallel loop schedules—may be specified by advanced programmers within the language.
 +
Productivity Features: In addition to all of its features designed for supercomputers, Chapel also includes a number of sequential language features designed for productive programming.  Examples include type inference, iterator functions, object-oriented programming, and a rich set of array types.  The result combines productivity features as in Python™, Matlab®, or Java™ software with optimization opportunities as in Fortran or C.
  
 
== Advantages of Chapel Cray ==
 
== Advantages of Chapel Cray ==

Revision as of 11:06, 4 April 2016

Chapel Cray

Team Information

  1. Taeyang Chung

Introduction to Chapel

Chapel(Cascade High-Productivity Language) is an alternative parallel programming language that focuses on the productivity of high-end computing systems.

Chapel Overview

Though it would be impossible to give a thorough introduction to Chapel in the space of this article, the following characterizations of the language should serve to give an idea of what we are pursuing:

General Parallelism: Chapel has the goal of supporting any parallel algorithm you can conceive of on any parallel hardware you want to target. In particular, you should never hit a point where you think “Well, that was fun while it lasted, but now that I want to do x, I’d better go back to MPI.” Separation of Parallelism and Locality: Chapel supports distinct concepts for describing parallelism (“These things should run concurrently”) from locality (“This should be placed here; that should be placed over there”). This is in sharp contrast to conventional approaches that either conflate the two concepts or ignore locality altogether. Multiresolution Design: Chapel is designed to support programming at higher or lower levels, as required by the programmer. Moreover, higher-level features—like data distributions or parallel loop schedules—may be specified by advanced programmers within the language. Productivity Features: In addition to all of its features designed for supercomputers, Chapel also includes a number of sequential language features designed for productive programming. Examples include type inference, iterator functions, object-oriented programming, and a rich set of array types. The result combines productivity features as in Python™, Matlab®, or Java™ software with optimization opportunities as in Fortran or C.

Advantages of Chapel Cray

Installation Process

How to compile sample code

How to parallelize your code using Chapel Cray

Demonstration of Sample Code

Useful Links