Agenda

  • Introduction to Linux
    1. What Linux is
    2. Vi editer
    3. Programming on the Linux system
      1. Compiling, linking and executing
      2. Shell script
    4. Application building
      1. Parallel library
      2. Mathematical analysis library
  • Introduction to Parallel Computing
    1. Concepts, technology and memory architectures
    2. Parallel programming models
      1. Shared memory model
      2. Threads model
      3. Distributed memory model
      4. Hybrid model
    3. Parallel programming using OpenMP
      1. Compiler directives
      2. Runtime libraries
      3. Environment variables
    4. Parallel programming using MPI
      1. Point to point communications
      2. Collective communications