Chapel

A Modern Parallel Programming Language

Introduction

Chapel is a modern parallel programming language that has explicit constructs for parallel programming. The language is specifically designed with large-scale massively parallel systems in mind using a multithreading model for parallel execution of programs.

Using Chapel on RCC Resources

On RCC systems, Chapel programs can be compiled with the chapel compiler which is available in the module of the same name. In order to compile programs with this compiler, simply load the module and compile a file as shown below. For detailed information on available compiler flags, please see the list of useful flags and the chpl man page both of which can be viewed on the documentation site for Chapel.

module load chapel
chpl -[FLAGS] -o OUTPUT.x FILENAME.chpl

Here, chpl is the compiler executable, -[FLAGS] is a list of compiler flags that you wish to run the compilation process with and when the compiler runs, it will compile programs written in text files with the .chpl file extension and compile them to the executable name after the -o switch, OUTPUT.x in the example above.

In addition to the available documentation, there are a number of useful simple examples and tutorials available on the documentation website including hello world examples and a set of language primers.