An Introduction to Robust and High Performance Software Libraries for Solving Common Problems in Computational Sciences 

Course Outline:


  1. General Introduction and Motivation
     
    1. The ACTS Collection: Tools for Developing High-End Computing Applications.

    2. GeoFEM and HPC-MW (HPC Middleware) Infrastructure for developing optimized Finite Element codes.

  2. Solving Discretized Problems - Finite Differences Methods

    1. Building The Linear System of Equations

    2. Using Direct Techniques

      1. Dense Cases: Introduction to ScaLAPACK.

      2. Sparse Cases: Introduction to SuperLU.

      3. Hands-On Session: Demostration of the use of ScaLAPACK and SuperLU.

    3. Using Iterative Techniques

      1. Introduction to Linear Solvers in PETSc

      2. Introduction to Linear Solvers in Hypre

      3. Introduction to Nonlinear Solvers in PETSc

      4. Hands-On Session: Demonstration on How to Use PETSc and Hypre

  3. Solving Discretized Problems - Finite Element Methods

    1. Introduction to the Parallel FEM

    2. Introduction to GeoFEM and HPC-MW

    3. Hands-On Session: Demonstration of the Use of FEM tool

  4. Solving Eigenvalue Problems

    1. Dense Case: Introduction to ScaLAPACK

    2. Sparse Case: Introduction to SLEPc

  5. Performance Monitoring and Tuning

    1. Automatic Library Tuning: Using ATLAS

    2. Performance Monitoring and Profiling: Using TAU

    3. High-Level Language Interfaces: PyACTS