Software Tools for Development on the Eagle System

Many applications on the high-performance computing (HPC) Eagle system must be compiled from source code, modified, or written from scratch. Development tools enable users to create, contribute to, and manage software at the source code level.

Cross-Platform Make and SCons

The "Cross-Platform Make" (CMake) package is from Kitware, and SCons is a modern software build tool based on Python. Both are available through Anaconda (module load conda; conda search cmake). Cmake is also available through a standalone module (module load cmake).

Git

Git is a distributed revision control system. The system installation (i.e., /usr/bin/git) is version 1.8.3. To access more up-to-date versions, access git via Anaconda.

For NREL's HPC systems, see using Git revision control on the Eagle System.

Python

Python is a programming language that lets you work quickly and integrate your systems effectively. Eagle hosts the Anaconda Python distribution via the "conda" module. For more information, see using Anaconda Python on the Eagle System. Python versions 2.7.5 (python) and 3.6.8 (python3) are also part of the base system image on the login nodes, but these are not intended for project support.

R

R is a well known statistical computing framework for data science. Our primary support for R is through Anaconda. For more information, see running R Statistical Computing Environment software on the Eagle System.

Anaconda

Besides Python and R, the Anaconda framework can serve as a jumping-off point to many other language interpreters and runtimes. For example,

conda search julia
conda search java
conda search go
conda search erlang
conda search rust
conda search ruby
conda search mysql

all result in options to enable development in these languages.

Jupyterhub

You may also find the interactivity offered by a notebook environment appealing. The Europa server offers a Jupyterhub environment with visibility of Eagle's filesystems and the job scheduler. For more information on accessing Europa and customizing your environment, see the Jupyterhub documentation.


Share