Programming

Julia

From julialang.org:

"Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. Julia’s Base library, largely written in Julia itself, also integrates mature, best-of-breed open source C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. In addition, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager at a rapid pace. IJulia, a collaboration between the Jupyter and Julia communities, provides a powerful browser-based graphical notebook interface to Julia."

Software Refresh - February 2017

OSC is refreshing the software stack for Oakley and Ruby on February 22, 2017 (during the scheduled downtime). During the software refresh, some default versions are updated to be more up-to-date and some older versions are removed. Information about the old and new default versions, as well as all available versions of each software package will be included on the corresponding OSC software webpage. See https://www.osc.edu/supercomputing/software-list.

Allinea

Allinea software analyzes how HPC software runs. It consists of two applications, Allinea Performance Reports and Allinea MAP: 

  • Allinea Performance Reports: simple tool to generate a single-page HTML or plain text report that presents overall performance characteristics of HPC applications.
  • Allinea MAP: HPC application profiler with easy-to-use GUI environment.

Availability & Restrictions

Versions

The following versions of Allinea are available on OSC clusters:

Allinea MAP

Allinea MAP is a full scale profiler for HPC programs. We recommend using Allinea MAP after reviewing reports from Allinea Performance Reports. MAP supports pthreads, OpenMP, and MPI software on CPU, GPU, and MIC based architectures.

OpenMPI

MPI is a standard library for performing parallel processing using a distributed memory model. The Oakley, Ruby, and Owens clusters at OSC can use the OpenMPI implementation of the Message Passing Interface (MPI).

PAPI

PAPI provides the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see, in near real time, the relation between software performance and processor events.

This software will be of interest only to HPC experts.

Updates to Oakley Application Software - September 2015

OSC is refreshing the software stack on Oakley on September 15, 2015 (during the scheduled downtime); something we have not done since Oakley entered service in 2012. During the software refresh, some default versions are updated to be more up-to-date and some older versions are removed. Information about the old and new default versions, as well as all available versions of each software package will be included on the corresponding OSC software webpage. See https://www.osc.edu/supercomputing/software-list.

GNU Compilers

Fortran, C and C++ compilers produced by the GNU Project. 

Availability and Restrictions

GNU Compiler is available on Oakley, Ruby, and Owens Clusters. The versions currently available at OSC are:

Boost

Boost is a set of C++ libraries that provide helpful data structures and numerous support functions in a wide range of aspects of programming, such as, image processing, gpu programming, concurrent programming, along with many algorithms.  Boost is portable and performs well on a wide variety of platforms.

Compilation Guide

As a general recommendation, we suggest selecting the newest compilers available for a new project. For repeatability, you may not want to change compilers in the middle of an experiment.

Owens Compilers

Pages

Subscribe to Programming