Installation Guide¶
Follow the instructions below to get Chapel and CHGL compiled in your environment.
Environment Requirements¶
Programming Language: Chapel
Operating System & Version: Tested on Chapel Docker containers (Debian) and internal RHEL 7 system
Required Disk Space: Approx. 40mb for code repository and binaries
Dependencies¶
A compiled version of the Chapel programming language with is test
virtual environment is all that is required to compile and test CHGL.
Unit tests were run on the Travis CI continuous integration system using
Chapel’s Docker container (see included .travis.yml
file for
details).
Name | Version | Download Location | Country of Origin |
---|---|---|---|
Chapel | Release 1.20.0 | https://github.com/chapel-lang/chapel | USA |
Distribution Files¶
CHGL is released through a GitHub repository found at https://github.com/pnnl/chgl. No additional files are required.
Installation Instructions¶
Chapel¶
Chapel must be installed on the system before compiling and installing CHGL. The version required is documented above in Dependencies. Be sure to checkout the required branch, tag, or commit CHGL has been tested with as using a different version of Chapel may cause errors.
If a particular branch, tag, or commit is required, execute the following git command after cloning the Chapel GitHub repository:
git checkout <branch_name, tag_name, or commit_hash>
With the correct Chapel version checked out, continue by folloing the Chapel installation documented at https://chapel-lang.org/docs/usingchapel/QUICKSTART.html.
Alternatively if a release is used, a Chapel Docker image found at https://hub.docker.com/r/chapel/chapel/.
CHGL¶
In the future, CHGL will be compiled and packaged into a Mason library. For the time being, CHGL is used directly (see unit tests for examples). The code is compiled and tested simultaneously – see the Test Cases section below for running the unit tests.
Also see the .travis.yml
file for an example of our continuous
integration build. Or view the current status at
https://travis-ci.com/pnnl/chgl.
NOTE: The COMPOPTS files in test
and test_performance
make use of --no-lifetime-checking --no-warnings
for successful
compilation. If you are compiling independent code that uses CHGL, be
sure to use these options as well.
Test Cases¶
CHGL includes both unit & performance tests utilizing the start_test
Python script supplied by Chapel. Change directories into test
or test_performance
and execute start_test
to run the tests.
View the unit test README or perfomrance test README for more
information.
The unit tests are best run to verify the CHGL build. Performance tests were not routinely run by a continuous integration environment and were written targeting particular hardware systems, leading them to be not as useful for verifying a CHGL build.