Search HPCVL Website Link HPCVL Sitemap Link HPCVL Users Homepage Link HPCVL Portal Link
HPCVL Home Page Link
News and Events Link
HPC Links
background graphic background graphic background graphic
Research Areas Link Research Scholarships Link Reasons to Join Link
HPCVL Tagline - Accelerating the pace of Canadian Research
About HPCVL Header
What is HPCVL Link
Research Areas Link
Research Areas Link
Research Scholarships Link
Research Chairs Link
Show Publications Link
Newsletters Link
Press Releases Link
Partnerships Link
Certification Authority Link
Contact Us Link
User Information Header
Account Applications Link
Account Signup Procedure Link
Access Levels Link
Access Policies Link
Allocation Process Link
Support and Training Link
Getting Started Link
Support Personnel Link
HPC Training Link
HPC Environment Link
M9000 Cluster Link
Victoria Falls Cluster Link
HPCVL Cluster Storage Link
Beowulf Cluster Link
HPCVL File System Link
Software Link
Frequently Asked Questions Link
Security Link
Compute Canada
HPC Training

HPCVL and Compute Canada Workshops July 2010:
Parallel Programming Using OpenMP, MPI and Posix Threads
July 19 - 21, 2010

HPCVL, Queen's University
Kingston, Ontario


Location and Time of Training Sessions:

Monday, July 19, 2010 (OpenMP) and
Tuesday, July 20, 2010 (MPI) and
Wednesday, July 21, 2010 (Posix Threads)
HPCVL Main Office, 993 Princess Street, Suite 115

Each Day: Registration: 8:30 am, Lectures: 9:00 am - 4:00 pm

Lecturers:
Hartmut Schmider and Gang Liu HPCVL, Queen's University, Kingston, Ontario


Remote Access:
This workshop will be made available through Compute Canada by broadcasting via Access Grid from our Training Room in Kingston. If you would like to participate remotely, please contact us and we can determine the location closest to you where you can join.


Confirmed Access Grid Rooms

  • Ottawa: Carleton University, Herzberg Building, rm 3230B

  • Charlottetown PEI: Room 104, Robertson Library (CMTC Classroom)


Register Here:
Please fill out Registration Form to sign up for the course http://www.hpcvl.org/training/course_reg.html






Workshop Overview:

Introduction to OpenMP

This workshop introduces the OpenMP compiler directives to scientists who are interested in writing programs for shared-memory parallel computers, or who want to convert existing serial code to parallel. No previous knowledge about parallel programming is required, but we assume some basic background in programming , preferably in Fortran or C.

The use of OpenMP has become the de facto industry standard for parallel programming on shared-memory machines. It also makes implicit use of the multi-core nature of current CPU's. The examples in this course are in Fortran and C. The workshop includes practical demonstrations.
Here is a short outline of the contents:

  • Introduction to parallel programming, especially for shared memory
  • OpenMP compiler directives
  • Loop parallelism
  • Explicit parallel regions
  • Synchronization
  • Issues in shared-memory programming and how to resolve them
  • New features of OpenMP 3.0

Introduction to MPI

The Introduction to MPI workshop is directed at programmers and scientists, with a basic background in programming, who want to acquire basic skills in "parallelizing" code for a variety of platforms ranging from multi-processor servers to clusters. No prior knowledge of MPI or other message-passing systems is required. However, some background in programming in Fortran, C, or other languages would be helpful. The lectures include practical demonstration using an HPCVL Cluster. All examples are in Fortran, C and C++. The following subjects will be addressed:

  • Programming and Runtime Environments
  • Rank, Size, Communicators
  • Pre-defined data types
  • Point-to-point and collective communication
  • Parallel Principles and Programming Steps
  • Combination of MPI with OpenMP
  • Parallel Scheduling
  • User-Defined Data Types

Introduction to Posix Multithreading

The Introduction to Posix Multithreading workshop is for programmers and scientists with a basic background in C programming, who want to increase the flexibility and responsiveness of their code and take advantage of modern multicore and multi-threaded computer architectures. This is a basic introduction to the Posix Thread Library and its application to the parallelization of C programs. We assume no prior knowledge of multithreading or parallel programming, but some background in Unix operating systems and programming in C will be necessary. All examples are in C. The lectures include demonstrations on a multicore machine. The following subjects will be addressed:

  • Parallel Programming and Multithreading
  • The Posix Thread Library, Basics of Thread Programming
  • Creating and Manipulating of Threads
  • Attributes
  • Synchronization and Locks
  • Once Initialization
  • Condition Variables
  • Thread-Specific Data and Destructors

 

 
 
   
© HPCVL 2010