Last updated: July 1, 2021
 
red bullet point Home
red bullet point Grant
red bullet point Objective
red bullet point Strategy
red bullet point Timeline
red bullet point Project Team
red bullet point Technician
red bullet point Hardware
red bullet point Software
red bullet point Account
red bullet point Teaching Material
red bullet point Course / Lab
red bullet point Research
red bullet point Resource
red bullet point FAQ
red bullet point Vacancy
 
arrow HPCCC Website
 
Total Visitors since
28 Aug 2003: 424787
 
Valid XHTML 1.0!
 
Valid CSS!

Recurring High Performance Computing Course Syllabus


Syllabus I : Introduction to Linux and PC cluster (2 hrs)

  1. Introduction to Linux

    1. History of UNIX and Linux
    2. Login, logout and changing the password
    3. Basic Linux command
    4. Linux hierachical file system
    5. Linux shell environment and basic shell scripts
    6. Editors: vi, pico, emacs, joe
    7. Compiling, link and run C, C++, Fortran programs
    8. Foreground and Background jobs
    9. File transfer from other PCs in different platform

  2. Introduction to the PC Clusters in Science Faculty

    1. Hardware configuration of the P4-Xeon Cluster
    2. Software installed
    3. How to login to the cluster, namely terminal login and graphical login using vnc
    4. Hostnames of the compute nodes
    5. Machine files use in different programs
    6. Sample files for different sequential and parallel program in the PC clusters
    7. Submitting executable jobs in the master node


Syllabus II : Introduction to Parallel Processing and MPI (2 hrs)

  1. Introduction to Parallel Processing

    1. What is Parallel Processing
    2. The Goals of Parallel Processing
    3. Pros and Cons of Parallel Processing
    4. Sequential Limits
    5. Why Parallel Processing
    6. Simplified Examples
    7. Applications
    8. History of Supercomputing

  2. Types of Parallel Systems

    1. SISD - Single Instruction stream over a Single Data Stream Single Instruction stream over a Single Data Stream
    2. MISD - Multiple Instruction stream over a Single Data stream
    3. SIMD - Single Instruction, Multiple Data Stream
    4. MIMD - Multiple Instruction, Multiple Data Stream

  3. Introduction to MPI

    1. What is MPI
    2. Basic Idea of MPI
    3. When Use MPI
    4. Getting started with LAM
    5. MPI Commands
    6. MPI Environment
    7. MPI Functions Specifications
    8. MPI Datatypes


Syllabus III : Parallel Programming using MPI (4 hrs)

  1. Communication Strategies

    1. Point to Point Communication
    2. Collective Communication
    3. Performance Evaluation

  2. Demonstration and Writing Simple MPI Programs

  3. Rewrite Sequential Program to Parallel Program

    1. Strategies to rewrite Sequential Program

  4. Exercises


Syllabus IV : Scalable Parallel Pseudo Random Number Generators Library (SPRNG) (2 hrs)

  1. Under Construction


Syllabus V : MPI Toolbox (MPITB) (2 hrs)

  1. Quick review in MATLAB

  2. What is MPITB?

  3. Get ready with lamhosts and MATLAB startup files

  4. Point to point communication in MPITB

    1. block, unblock send and receive

  5. Collective communication in MPITB

    1. broadcast and reduce
    2. gather and scatter

  6. Two examples

    1. Monte carlo simulation of Pi
    2. Calculation of pi using numerical integration

  7. Assignment

    1. arbitrary area within a domain of given function


Syllabus VI : C Programming (4 hrs)

  1. Computing Concept

  2. Introduction to C Programming

  3. Structured Program Development

  4. Program Control

  5. Functions

  6. Arrays

  7. Pointers

  8. Characters and Strings

  9. Formatted Input/Output

  10. Structures, Unions and Bit Manipulations

  11. File Processing

  12. Dynamic Data Structure

  13. The Preprocessor

  14. Advanced Topics

  15. Review of basic C programming

  16. Exercises



©2002-2024 Hong Kong Baptist University. All Rights Reserved.