Skip to content
/ chapel Public
forked from chapel-lang/chapel

a Productive Parallel Programming Language

License

Notifications You must be signed in to change notification settings

Agobin/chapel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

http://chapel.cray.com/images/cray-chapel-logo-200.png

The Chapel Language

Chapel is an emerging programming language designed for productive parallel computing at scale. Chapel's design and implementation have been undertaken with portability in mind, permitting Chapel to run on multicore desktops and laptops, commodity clusters, and the cloud, in addition to the high-end supercomputers for which it was designed. Chapel's design and development are being led by Cray Inc. in collaboration with academia, computing centers, and industry. See chapel.cray.com for more information.

This is the 1.12.0 release of the Chapel compiler, intended to give potential users a look at what we're doing and the opportunity to provide us with feedback. See the LICENSE file for the release's licensing terms.

Quick Start Instructions

The following instructions are designed to get you up and running with Chapel with a minimum of fuss. Note that building and using Chapel in this mode disables enhanced runtime options and optional language capabilities in the interest of a simple and clean build.

  1. See prereqs.rst for more information about packages you might need to have installed for Chapel to work. Download a Chapel source release from download.html if you haven't already.
  1. Make sure that your shell is in the directory containing this README.rst file. For example:

    cd ~/chapel-1.12.0
  2. Set up your environment to use Chapel in "Quick Start" mode.

    You must be in the top-level Chapel directory for the command scripts below to work properly. Note that there is no requirement to use these scripts long-term, they are merely designed to get new users up and running quickly. See chplenv.rst for a complete description of Chapel's environment variables and their options.

    If you use a shell other than the ones listed below and are able to create an equivalent util/quickstart/setchplenv.* script for it, please consider contributing a copy of it back to the project for inclusion in the next release.

If you use: then type:
a bash-compatible shell (bash/zsh) source util/quickstart/setchplenv.bash
a csh-compatible shell (csh/tcsh) source util/quickstart/setchplenv.csh
the fish shell (fish) . util/quickstart/setchplenv.fish
the Bourne shell (sh) . util/quickstart/setchplenv.sh
  1. Build the compiler and runtime libraries using:

    gmake

    or if your default make is GNU make compatible (as on Mac OS X or Cygwin), use:

    make

    Parallel build execution (e.g. gmake -j) is supported.

  2. csh/tcsh users only: Update your shell's path cache using:

    rehash

  3. Optionally, check that your Chapel installation is working correctly:

    gmake check

    or:

    make check

  4. Compile an example program using:

    chpl -o hello examples/hello.chpl

  5. Execute the resulting executable:

    ./hello

  6. Experiment with Chapel in Quick Start mode to your heart's content.

    Once you are comfortable with Chapel and interested in using a full-featured version in the preferred configuration:

    1. Open up a new shell to avoid inheriting the previous environment settings.
    2. Repeat steps 1-7 above, but in Step 2, use util/setchplenv.* instead of util/quickstart/setchplenv.*
    Making chapel installation global

    After a successful installation. You will realise that when you start a new session, you will have to setup the environment from the beginning to continuing working with chapel. To make the changes global do the following: a) Setting the CHPL_HOME variable.

    Open the file ~/.bashrc and set your CHPL_HOME variable to your chapel top directory. To do this type in the terminal: sudo gedit ~/.bashrc //Then at the end of the file type export CHPL_HOME=$chapel_top_level_directory This will set the CHPL_HOME variable everytime a new terminal opens

    1. Making chpl global. Go to $CHPL_HOME/bin/linux64/ and copy chpl. Paste chpl in /usr/bin/ -Note to do this you must have root access privilege. Type sudo nautilus /usr/bin/ -This opens /usr/bin/ and allows you to paste.

    With that done, your chapel installation is global and you don't have to reinstall to start a new session

    This will set up your environment to use Chapel in the preferred configuration. Making this configuration will involve building one or more third-party packages which will increase the overall build time. If you run into any portability issues, please let us know at chapel_info@cray.com.

  7. If you plan to do performance studies of Chapel programs, be sure to (a) use the full-featured version and (b) read the PERFORMANCE file in this directory to avoid common pitfalls.

  8. All of the instructions above describe how to run Chapel programs in a single-locale / shared-memory mode. To run on multiple compute nodes, please refer to multilocale.rst.

What's next?

For more detailed information about: refer to:
changes since the last release CHANGES
implementation status STATUS
performance status PERFORMANCE
Chapel's file and directory structure README.files
prerequisites for using this release prereqs.rst
setting Chapel environment variables chplenv.rst
building the compiler building.rst
using the compiler compiling.rst
executing Chapel programs executing.rst
debugging Chapel programs debugging.rst
reporting bugs bugs.rst
Chapel modes for emacs and vim highlight/README.md
example Chapel programs examples/README
a quick reference for Chapel syntax doc/quickReference.pdf
the Chapel language specification doc/chapelLanguageSpec.pdf
other Chapel Documentation chapel.cray.com/docs
third-party software that we use third-party/README
To use Chapel on a specific platform: refer to:
a Cray system cray.rst
Cygwin over Windows cygwin.rst

About

a Productive Parallel Programming Language

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Chapel 56.5%
  • C 16.8%
  • C++ 16.5%
  • TeX 3.9%
  • Python 3.0%
  • Perl 1.1%
  • Other 2.2%