joomla templates

linksceem.eu

HIGHLIGHTER:
Thursday, 20 Jul 2017

Supercomputing Training Portal

There is a huge amount of online content that can help you educate yourself in how to use a supercomputing environment. We have tried to organise (some of) that information into distinct sections to help guide you to topics that interest you most.

LinkSCEEM can also provide you with access to a supercomputer for training purposes so that you can try anything you see here out in a real supercomputer environment. For individual users we simply ask that you fill out our online request form. If you wish to apply for access for a group of people (for example in connection to a University course or a development project for a group) we ask that you contact us directly at This e-mail address is being protected from spambots. You need JavaScript enabled to view it .

Most of the links in the topics will open within this window so that you can preview the linked documents and websites directly. If you have any ideas for improvements to the website please use the comment form at the bottom of the page.

The basics of interacting with a Supercomputer

This content is to help guide people who have never used a supercomputer before and can explain the very basics of what parallel computing is, basic linux commands and how to log on (and use!) the educational supercomputer.

Recommended Material

Parallel Computing Explained

This course covers a variety of introductory topics on parallel computing including an introduction to what parallel computers are, what they're for, some basic parallerisation methods as well as topics on porting and tuning your code. The idea of the course is to help give an idea of the context and methods of parallel computing, it does not require any prior knowledge and doesn't have practical content. To access the content simply click on the following link:

Parallel Computing Explained (to open in a new tab or window click here)

Introduction to Linux

Most supercomputers run a Linux-based operating system so to use these systems you need to gain some familiarity with Linux in general. This tutorial is for the beginning Linux user, and is designed to get the user familiar with some of the basic principals of the Linux operating system. To access the content simply click on the following link:

Introduction to Linux (to open in a new tab or window click here)

Using the Training HPC Cluster(s)

Here we cover the steps in how to access, compile and run jobs on the educational training systems we can provide. In general the concepts here cover most high performance computing resources, the only differences being the particular tools used to do the particular jobs. To access the content simply click on the following link:

Hands on session for HPC systems (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

Programming

Even if you only want to make small modifications to an existing application, you will still have to have some grasp of a programming language so you have a basic understanding of what is happening in the code. The core concepts of many programming language overlap so once you've learned to use one language, learning to understand and modify another is not actually that hard.

If you are going to start on a computing project you definitely need to learn a programming language. For supercomputing environments, common languages have been C and Fortran because they usually give the best performance. However, the concepts and increased flexibility of modern computer languages mean they are becoming more and more common...so if you are really starting from scratch I'd suggest you use C++!

Recommended Material

Introduction to C++

An introduction to C++ from experts. To access the content simply click on the following link:

Introduction to C++ (to open in a new tab or window click here)

Introduction to C

An introduction to C from experts. To access the content simply click on the following link:

Introduction to C (to open in a new tab or window click here)

Introduction to Fortran

An introduction to Fortran from experts. To access the content simply click on the following link:

Introduction to C++ (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

Scripting

Once you start using a supercomputing system, you will probably at some stage need to use a scripting language to help you automate things you are trying to do...like renaming a large list of files in a directory or moving a selected set of files to a new location for example. A scripting (or script) language is a programming language that supports the writing of scripts. Scripts are programs written for a software environment that automate the execution of tasks which could alternatively be executed one-by-one by a human operator.

Recommended Material

Bash scripting

Bash is the command processor that you are (most likely) using when you log in to a supercomputer. It allows the user to type commands (like 'ls') which cause actions. A shell program, called a script, is an easy-to-use tool for building applications by "gluing together" system calls, tools, utilities, and compiled binaries.To access the content simply click on the following link:

Introduction to Bash Scripting (to open in a new tab or window click here)

Python

Python is everywhere, if you want advanced scripting features spend your time learning this! Python is a general-purpose, interpreted high-level programming language whose design philosophy emphasizes code readability. Like other dynamic languages, Python is often used as a scripting language.

Python supports multiple programming paradigms, including object-oriented (like C++), imperative and functional programming styles. Using third-party tools, Python code can be packaged into standalone executable programs. Python interpreters are available for many operating systems.To access the content simply click on the following link:

Python (to open in a new tab or window click here)

Python for High Performance

While Python is a scripting language, it has plenty of facilities for high performance computing.

Python for High Performance (to open in a new tab or window click here)

Balancing Scripts and Compiled Code in Scientific Applications

Scripting can be much easier to use than the typical high performance computing languages, C++ and Fortran, but scientific programmers choose compiled languages for their speed.

You may already be combining scripting and compiled code when you write Bash or Csh scripts to run applications. This module suggests ways to incorporate scripting languages more deeply within scientific applications in order to write less code and more capable applications quickly.To access the content simply click on the following link:

Balancing Scripts and Compiled Code in Scientific Applications (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

OpenMP

OpenMP (Open Multiprocessing) uses a portable, scalable model that gives programmers a simple and flexible interface for developing parallel applications for platforms ranging from the standard desktop computer to the supercomputer.

It is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems. Because it is available on many platforms, modifications you make to your program that help it to run efficiently on one system should be useful on most other platforms too.

Today, there is no OpenMP support for accelerators (like a GPU). It is intended to merge the OpenACC API with the OpenMP specification to create a common specification which extends OpenMP to support accelerators in a future release of OpenMP.

Recommended Material

Introduction to OpenMP

An introduction to OpenMP hosted by the LinkSCEEM project.To access the content simply click on the following link:

Introduction to OpenMP (to open in a new tab or window click here)

(Another) Introduction to OpenMP

Another introduction to OpenMP, this time from Cornell.To access the content simply click on the following link:

(Another) Introduction to OpenMP (to open in a new tab or window click here)

Introduction to OpenACC

Today, there is no OpenMP support for accelerators (like a GPU). The creators of the OpenACC API are all members of the OpenMP Working Group on Accelerators. Those members intend to merge the OpenACC API with the OpenMP specification to create a common specification which extends OpenMP to support accelerators in a future release of OpenMP.

The OpenACC Application Program Interface describes a collection of compiler directives to specify loops and regions of code in standard C, C++ and Fortran to be offloaded from a host CPU to an attached accelerator, providing portability across operating systems, host CPUs and accelerators.

The directives and programming model allow programmers to create high-level host+accelerator programs without the need to explicitly initialize the accelerator, manage data or program transfers between the host and accelerator, or initiate accelerator startup and shutdown.

Introduction to OpenACC (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

MPI (Message Passing Interface)

The Message Passing Interface, or MPI, is a standard library of subroutines (Fortran) or function calls (C) that can be used to implement a message passing program. MPI allows for the coordination of a program running as multiple processes in a distributed memory environment, yet is flexible enough to also be used in a shared memory system.

The standardization of the MPI library makes it very powerful and enables source code portability since MPI programs should compile and run as-is on any platform. It also allows efficient implentations across a range of architectures, offers a great deal of functionality, including a number of different types of communication and special routines for common collective operations, the ability to handle user-defined data types and topologies, and support for heterogeneous parallel architectures.

Recommended Material

Introduction to MPI

An introduction to MPI hosted by the LinkSCEEM project.To access the content simply click on the following link:

Introduction to MPI (to open in a new tab or window click here)

Intermediate MPI

Intermediate MPI hosted by the LinkSCEEM project.To access the content simply click on the following link:

Intermediate MPI (to open in a new tab or window click here)

Set of MPI courses from Cornell

An entire set of MPI courses from the Cornell Virtual Workshop.To access the content simply click on the following links:

Message Passing Interface (MPI) Basics (to open in a new tab or window click here)

MPI Point-to-Point (to open in a new tab or window click here)

MPI Collective Communications (to open in a new tab or window click here)

MPI One-sided Communication (to open in a new tab or window click here)

MPI Advanced Topics (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

GPU Programming

General-purpose computing on graphics processing units (general-purpose graphics processing unit, GPGPU) is the utilization of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the central processing unit (CPU). Unlike CPUs, however, GPUs have a parallel throughput architecture that emphasizes executing many concurrent threads slowly, rather than executing a single thread very quickly.

In modern supercomputing the general term is accelerating co-processor (or simply accelerator) since there are now a number of different types of accelerators.

Recommended Material

Introduction to CUDA

CUDA is a parallel computing platform and programming model created by NVIDIA and implemented by the graphics processing units (GPUs) that they produce. CUDA gives developers access to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs. Using CUDA, the latest Nvidia GPUs become accessible for computation like CPUs.

Introduction to CUDA (to open in a new tab or window click here)

Introduction to OpenACC

Today, there is no OpenMP support for accelerators (like a GPU). The creators of the OpenACC API are all members of the OpenMP Working Group on Accelerators. Those members intend to merge the OpenACC API with the OpenMP specification to create a common specification which extends OpenMP to support accelerators in a future release of OpenMP.

The OpenACC Application Program Interface describes a collection of compiler directives to specify loops and regions of code in standard C, C++ and Fortran to be offloaded from a host CPU to an attached accelerator, providing portability across operating systems, host CPUs and accelerators.

The directives and programming model allow programmers to create high-level host+accelerator programs without the need to explicitly initialize the accelerator, manage data or program transfers between the host and accelerator, or initiate accelerator startup and shutdown.

Introduction to OpenACC (to open in a new tab or window click here)

Introduction to PyOpenCL

Open Computing Language (OpenCL) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), DSPs and other processors. PyOpenCL lets you access the OpenCL parallel computation API from Python.

Introduction to PyOpenCL (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

Code Improvement and Debugging

Here we list a whole set of topics that you could consider when considering improving the performance of your application.

Recommended Material

Multilevel Parallel Programming

As parallel computer architectures have evolved over the years, the programming models needed to effectively use these architectures have evolved as well. Two of these models have become the defacto standards: MPI library for message passing andOpenMP compiler directives for multithreading.

Both of these programming models are now in wide use, and one or both are supported on virtually every parallel system currently available. However, on some systems such as Distributed Shared Memory Architectures it is advantageous to mix message passing and multithreading to maximize performance. This approach is referred to as "hybrid" or "multilevel parallel programming." To access the content simply click on the following link:

Multilevel Parallel Programming (to open in a new tab or window click here)

Profiling and Debugging

This module will introduce profiling, targeted analysis of the runtime behavior of an application. Profiling techniques for parallel applications will be discussed along with a survey of debugging techniques and debugging applications.

Profiling and Debugging (to open in a new tab or window click here)

Optimization and Scalability

How do you optimize the performance of a big, computationally intensive code? On an HPC cluster the most beneficial optimizations may be those that improve a code’s scalability, allowing it to run on more and more processors. On the opposite end of the spectrum, you can delve into optimization guides that encourage you to focus on chip-level tweaks. In reality, the whole range of scales matters when considering how to optimize performance on an HPC system.

Optimization and Scalability (to open in a new tab or window click here)

Parallel Numerical Libraries

This course introduces you to using parallel numerical library routines. Each lesson within it covers a specific mathematical area and describes which routines in which libraries you should use. To access the content simply click on the following link:

Parallel Numerical Libraries (to open in a new tab or window click here)

Performance Tuning for Clusters

This course introduces you to techniques for optimizing code performance on a cluster. You will learn how to measure the performance of your program, what bottlenecks to look for, and techniques to eliminate or reduce these bottlenecks. To access the content simply click on the following link:

Performance Tuning for Clusters (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

Scientific Visualisation

Scientific visualization is an interdisciplinary branch of science primarily concerned with the visualization of three-dimensional phenomena (architectural, meteorological, medical, biological, etc.), where the emphasis is on realistic renderings of volumes, surfaces, illumination sources, and so forth, perhaps with a dynamic (time) component.

Recommended Material

Introduction to Visualization

The field of scientific visualization is broad and requires technical knowledge and an understanding of many communication issues. This online tutorial provides information about its evolution, its uses in computational science, and the creative process involved. Also included are descriptions of various software tools currently available and examples of work which illustrate various visualization techniques.

Relevant concerns, such as visual perception, representation, audience communication and information design are discussed throughout the course and are referenced for further investigation. An overview of current research efforts provides insight into the future directions of this field. To access the content simply click on the following link:

Introduction to Visualization (to open in a new tab or window click here)

Large Data Visualization

This module provides an introduction to concepts of visualization with a focus on parallel computing techniques to handle large datasets.

Large Data Visualization (to open in a new tab or window click here)

Paraview

Paraview is a highly capable visualization application for computational fluid dynamics and other subjects. It is open source and can run in parallel. This module includes a lab which covers visualization of a sample dataset both on a local computer and on TACC resources.

Paraview (to open in a new tab or window click here)

Lectures and Tutorials

Under construction

Under construction

Under construction

Other Material

Under construction

Under construction

Under construction

Community Developed Applications

Community developed applications are applications developed to run on supercomputing environments that can be used by entire communities of users. Many of such applications are developed by reasearchers and released as open-source or with free academic licencing.

If you are new to supercomputing it is definitely worth your while to browse your field in the tabs below and see if there is perhaps an existing community code that may meet your need.

This section is very much a work-in-progress, we will try and keep it updated as best we can.

Synchrotron Radiation

This module provides an introduction to some of the computing applications for synchrotron radiation that have been developed within the LinkSCEEM project. The course contains full installation and usage instructions for

- PyFAI

- PyHST

- CoNBoVAL-XAS

Synchrotron Radiation Applications (to open in a new tab or window click here)

Computational Chemistry and Biology

Bioinformatics

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

BarraCUDA

Sequence mapping software

Alignment of short sequencing reads

 

Yes

Available now

Version 0.6.2

CUDASW++

Open source software for Smith- Waterman protein database searches on GPUs

Parallel search of Smith- Waterman database

 

Yes

Available now

Version 2.0.8

CUSHAW

Parallelized short read aligner

Parallel, accurate long read aligner - gapped alignments to large genomes

 

Yes

Available now

Version 1.0.40

GPU-BLAST

Local search with fast k-tuple heuristic

Protein alignment according to blastp, multi cpu threads

 

Single only

Available now

Version 2.2.26

GPU-HMMER

Parallelized local and global search with profile Hidden Markov models

Parallel local and global search of Hidden Markov Models

 

Yes

Available now

Version 2.3.2

mCUDA-MEME

Ultrafast scalable motif discovery algorithm based on MEME

Scalable motif discovery algorithm based on MEME

 

Yes

Available now

Version 3.0.12

SeqNFind

A GPU Accelerated Sequence Analysis

Toolset

Reference assembly, blast, smith-waterman, hmm, de novo assembly

 

Yes

Available now

UGENE

Opensource Smith-Waterman for SSE/CUDA, Suffix array based repeats finder and dotplot

Fast short read alignment

 

Yes

Available now

Version 1.11

WideLM

Fits numerous linear models to a fixed design and response

Parallel linear regression on multiple similarly-shaped models

 

Yes

Available now

Version 0.1-1

Molecular Dynamics

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

Abalone

Models molecular dynamics of biopolymers for simulations of proteins, DNA and ligands

Simulations (on 1060 GPU)

 

Single Only

Available now

Version 1.8.48

ACEMD

GPU simulation of molecular mechanics force fields, implicit and explicit solvent

Written for use on GPUs

 

Yes

Available now

AMBER

Suite of programs to simulate molecular dynamics on biomolecule

PMEMD: explicit and implicit solvent

 

Yes

Available now Version 12 + bugfix9

DL-POLY

Simulate macromolecules, polymers, ionic systems, etc on a distributed memory parallel computer

Two-body forces, Link-cell pairs, Ewald SPME forces, Shake VV

 

Yes

Available now, Version4.0

Source only

CHARMM

MD package to simulate molecular dynamics on biomolecule.

Implicit (5x), Explicit (2x) Solvent via OpenMM

 

Yes

In Development

Q4/12

GROMACS

Simulation of biochemical molecules with complicated bond interactions

Implicit (5x), Explicit(2x)

solvent

 

Single only

Available now Version 4.6 in Q4/12

HOOMD-Blue

Particle dynamics package written grounds up for GPUs

Written for GPUs

 

Yes

Available now

LAMMPS

Classical molecular dynamics package

Lennard-Jones, Morse, Buckingham, CHARMM, Tabulated, Course grain SDK, Anisotropic Gay- Bern, RE-squared, “Hybrid”combinations

 

Yes

Available now

NAMD

Designed for high-performance simulation of large molecular systems

100M atom capable

 

Yes

Available now, Version 2.9

OpenMM

Library and application for molecular dynamics for HPC with GPUs

Implicit and explicit solvent, custom forces

 

Yes

Available now

Version 4.1.1

Quantum Chemistry

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

Abinit

Allows to find total energy, charge density and electronic structure of systems made of electrons and nuclei within DFT

Local Hamiltonian, non- local Hamiltonian, LOBPCG algorithm, diagonalization / orthogonalization

 

Yes

Available now

Since version

6.12

ACES III

Takes best features of parallel implementations of quantum chemistry methods for electronic structure

Integrating scheduling GPU into SIAL programming language and SIP runtime environment

 

Yes

In development

ADF

Density Functional Theory (DFT)

software package that enables

first-principles electronic structure

calculations

Fock Matrix, Hessians

 

Yes

In development

BigDFT

Implements density functional theory by solving the Kohn-Sham equations describing the electrons in a material

DFT; Daubechies wavelets, part of Abinit

 

Yes

Available now

Version 1.6.x

CASINO

Code for performing quantum Monte Carlo (QMC) electronic  structure calculations for finite and periodic systems

TBD

 

Yes

In development, expected Q4/12

CP2K

Program to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems

DBCSR (space matrix multiply library)

 

Yes

In development

GAMESS-UK

Is the general purpose ab initio molecular electronic structure program for performing SCF-, DFT- and MCSCF-gradient calculations

(ss|ss) type integrals within calculations using Hartree Fock ab initio methods and density functional theory. Supports organics and inorganics.

 

Yes

In development, expected Q4/12

GAMESS-US

Computational chemistry suite used to simulate atomic and molecular electronic structure

Libqc with Rys Quadrature Algorithm, integral evaluation, closed shell Fock matrix construction, Hartree Fock, MP2

 

Yes

Available now

Gaussian

Joint NVIDIA, PGI and Gaussian collaboration. Predicts energies, molecular structures, and vibrational frequencies of molecular systems

TBD

 

Yes

In development

GPAW

Real-space grid DFT code written in C

and Python

Electrostatic poisson equation, orthonormalizing of vectors, residual minimization method (rmm- diis)

 

Yes

Available now

MOLCAS

Methods for calculating general electronic structures in molecular systems in both ground and excited states

CU_BLAS

 

Yes

In development

MOLPRO

Used for accurate ab initio quantum chemistry calculations

Density-fitted MP2 (DF- MP2), density fitted local correlation methods (DF- RHF, DF-KS), DFT

 

Yes

In development

MOPAC2009

Semiempirical Quantum Chemistry

Pseudodiagonalization, full diagonalization, and density matrix assembling

 

No

In development

NWChem

Calculations

Triples part of Reg-CCSD(T), CCSD and EOMCCSD task schedulers

 

Yes

In development, expected Q4/12

Q-CHEM

Computational chemistry package designed for HPC clusters

Various features including

R1-MP2

 

Yes

Available

Version 4.0

TeraChem

Quantum chemistry software designed to run on NVIDIA GPU

Full GPU-based solution . Performance compared to GAMESS CPU version.

 

Yes

Available now

Version 1.5

Materials Science

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

LSMS

Materials code for investigating the effects of temperature on magnetism

Generalized Wang-Landau method

 

Yes

Available now in WL-LSMS3

PEtot

First principles materials code that computes the behavior of the electron structures of materials

Density functional

theory (DFT) plane wave

pseudopotential calculations

 

Yes

Available now

QMCPACK

Solves the many-body Schrodinger equation for electronic structures using a quantum Monte Carlo method

Main features

 

Yes

Available now

Quantum

Espresso/PWscf

An integrated suite of computer codes for electronic structure calculations and materials modeling at the nanoscale

PWscf package: linear algebra (matix multiply), explicit computational kernels, 3D FFTs

 

Yes

Available now

Version 5.0

VASP

First principles materials code that computes the behavior of electronic structures based on quantum theory

Hybrid Hartree-Fock DFT functionals including exact exchange

 

Yes

Available on request

Visualization and Docking Software

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

Amira 5

A multifaceted software platform for visualizing, manipulating, and understanding Life Science and bio- medical data.

3D visualization of volumetric data and surfaces

 

Yes

Available now

Version 5.5

Core Hopping

Rapid screening of novel cores to improve drug properties

GPU accelerated application

 

Yes

Available now

FastROCS

Molecule shape comparison application

Real-time shape similarity searching / comparison

 

Yes

Available now

PyMol

User-sponsored molecular visualization system on an open- source foundation

Lines: 460% increase Cartoons: 1246% increase Surface: 1746% increase Spheres: 753% increase Ribbon: 426% increase

 

Single only

Available now

Version 1.5

Molegro Virtual

Docker 5

Method for performing high accuracy flexible molecular docking

Energy grid computation, pose evaluation and guided differential evolution

 

Single only

Available now

VMD

Visualization and analyzing large bio- molecular systems in 3-D graphics

GPU acceleration for computationally demanding analysis and visualization tasks

 

Yes

Available now

Version 1.9.x

Physics

Quantum Chromodynamics

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

Chroma

Lattice Quantum Chromodynamics (LQCD) codes simulate how elemental particles are formed and bound by the “strong force” to create larger particles like protons and neutrons

Wilson-clover fermions, Krylov solvers, Domain- decomposition

 

Yes

Available now

MILC

Lattice Quantum Chromodynamics (LQCD) codes simulate how elemental particles are formed and bound by the “strong force” to create larger particles like protons and neutrons

Staggered fermions, Krylov solvers, Gauge-link fattening

 

Yes

Available now

QUDA

Library for Lattice QCD calculations using GPUs

CUDA supports the following fermion formulations: Wilson,Wilson-clover,Twisted mass,Improved staggered (asqtad or HISQ) and Domain wall

 

Yes

Available now

Fluid Dynamics

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

GTC

Simulates microturbulence and transport in magnetically confined fusion plasma

Electron push and shift (accounting for >80% of run time)

 

Yes

Available now

Weather and Climate Forecasting

APPLICATION

DESCRIPTION

SUPPORTED FEATURES

LICENCE

MULTI-GPU SUPPOR

GPU RELEASE STATUS

ASUCA

Regional atmospheric model

Entire model

 

Yes

In development

CAM - SE

Global atmosphere model for climate research

Entire model

 

Yes

In development

COSMO

Regional atmospheric model

Entire model

 

Yes

In development

GEOS-5

Global climate model

Entire model

 

Yes

In development

HOMME

Dynamical core for numerical weather prediction model

Dynamical core

 

Yes

In development

HYCOM

Ocean circulation model

Dynamical core

 

Single Only

In development

MITgcm

Ocean circulation model

Dynamical core

 

Single Only

In development

NIM

Dynamical core for numerical weather prediction model using icosahedral horizontal grid

Dynamical core

 

Yes

In development

WRF

Regional numerical weather prediction model

WSM5, WSM3, Ice

Microphysics models

 

Single only

Available now

Version 3.2

NEMO

Ocean circulation model

Entire model (GYRE config)

 

Multi-GPU using OpenACC

In development