High Performance Computing Tutorial
“Graphics Processor Units and IBM Cells Broadband Engines"
Presenter:
Dr. Jamaludin Mohd-Yusof
Computational and Statistical Sciences Division,Los Alamos National Laboratory
Friday, November 6, 2:00 - 3:00 pm
SLAB Seminar Room
Rosenstiel School
This tutorial provides an overview of programming GPUs and CBEs, and how to use them for general purpose programming. Special emphasis will be devoted to controlling memory traffic between the CPUs and these co-processors.
Matlab Seminar, November 12,2009
All interested students, researchers and faculty are encouraged to register.
The MathWorks will be presenting two seminars on using MATLAB on Nov 12, 2009. The morning session is scheduled at the Main Campus and the afternoon session is at RSMAS.Register now at http://www.mathworks.com/seminars/umi1109.
Technical computing at the University of Miami
Presenter: Saket Kharsikar, Application Engineer
Agenda - Session I
Whitten University Center, Flamingo D
8:45 a.m. - 9:00 a.m Registration sign-in. Walk-ins are welcome.
9:00 a.m. - 11:30 a.m Data Acquisition, Analysis, and Visualization using MATLAB (overview)
During this session we will use examples to demonstrate how to acquire, analyze, and visualize data through mathematical, statistical, and engineering functions that support common engineering operations. This session is designed to be an overview of the MATLAB technical computing environment. R2009b will be used for this demonstration.
Highlights include:
-
Importing data from various sources
-
Performing statistical analysis
-
Automating analysis via automatic m-code generation
-
Building GUIs and generating reports
Agenda - Session II
SLAB Seminar Room, Rosenstiel School of Marine and Atmospheric Science
1:15 p.m. - 1:30 p.m. Registration sign-in. Walk-ins are welcome.
1:30 p.m. - 3:30 p.m. Speeding Up MATLAB Applications with Parallel Computing
We will discuss and demonstrate how to perform parallel and distributed computing in MATLAB to boost execution speed on computationally and data-intensive problems. We will introduce you to parallel processing constructs such as parallel for-loops, distributed arrays, parallel
numerical algorithms and message-passing functions that let you implement task and data parallel algorithms in MATLAB at a high level without programming for specific hardware and network architectures.
Highlights include:
-
Applications of parallel computing
-
Implicit multi-threaded computations
-
Interactive task and data parallel applications
-
Interactive applications to scheduled applications
-
Scaling your work up to a computer cluster
CCS Summer 2009 Hands-On HPC Workshop
Day 1:
Wed, July 1st, 2009
9:00-12:15 (2x1.5 hrs sessions)
Introduction to using the Ares (first session) and Kronos (second session) clusters.
Topics:
a) Logging in and setting the work environment
b) Editing/Compiling/Debugging
c) Job Scripts
d) Job Submission
e) Exercises
Day 2:
Wed, July 8th, 2009
9:00-12:15 (2x1.5 hrs sessions)
Using OpenMP for Multicore and Shared Memory Programming
First Session
a) Introduction to OpenMP
b) Basic multi-threading with pool of tasks (e.g., running several independent tasks with threads)
Second Session
a) Calculating PI
b) Data parallel approaches and array processing
c) Solving the heat equation
d) Exercises
Day 3:
Wed, July 15th, 2009
9:00-12:15 (2x1.5 hrs sessions)
Using the Message Passing Interface (MPI) for Distributed Memory Programming
First Session
a) Intro to MPI
b) Basic MPI with pool of tasks ( e.g., running several independent tasks with MPI - embarrassingly parallel)
Second Session
a) Calculating PI
b) Data parallel approaches and array processing
c) Solving the heat equation
d) Exercises
Day 4:
Wed, July 22, 2009
9:00-12:15 (3hr session)
Example Applications
a) Implementation of a parallel Preconditioned Conjugate Gradient Solver
b) Parallel implementation of the Scalar Transport Equation
There is no official registration; however, please email Patricia Wedderburn.
Note: Instructors for the sessions will be announced after June 15
HPC Tutorials Fall 2008
|
Topic |
Presenter |
Date |
|
Using the Ares IBM p5-575 Cluster |
Ashwanth Srinivasan |
October 8 |
|
Using the Kronos Linux Cluster |
Ashwanth Srinivasan |
October 15 |
|
Unix Skills for HPC |
Joel Zysman |
October 22 |
|
Fortran Tips for Scientific Computing |
Arthur Mariano |
October 29 |
|
Single Processor Optimization and Tuning |
Mohamed Iskandarani |
November 5 |
|
Introduction to Parallel Programming |
Mohamed Iskandarani |
November 12 |
|
Introduction to Shared Memory Programming using OpenMP |
Ashwanth Srinivasan |
November 19 |
|
Introduction to Parallel Programming using MPI |
Mohamed Iskandarani |
November 26 |
|
Scientific Data Formats and data access using OPeNDAP |
Ashwanth Srinivasan |
December 3 |
|
Emerging Trends in HPC |
Ashwanth Srinivasan |
December 10 |
Using the CCS Ares IBM p5-575 Cluster
Presented by: Ashwanth Srinivasan
Date: October 8, 2008
Abstract: This tutorial is intended as a quick start guide to using the CCS p5-575 cluster. A wide variety of topics are covered starting with a description of the CCS organization, a summary of the available supercomputing hardware resources, overview of the p-series architecture, how to obtain accounts and how to access these systems. Important aspects concerning the user environment are then addressed, such as the user’s home directory, various files and file systems, how to transfer/share files, quota and archival storage. A description of the software development environment and use of compilers, software libraries, debuggers, and performance tools is then presented. Following this, procedures and examples for running production batch jobs using the LoadLeveler batch system are discussed.
Using the CCS Kronos Linux Cluster
Presented by: Ashwanth Srinivasan
Date: October 15, 2008
Abstract: This tutorial is intended as a quick start guide to using the CCS Linux cluster. The tutorial covers information on accounts, access, user environment, file transfer, storage, development environment, software libraries and running production jobs. Several popular compiler suites are installed on the Linux Cluster. A description of these development tools and example use of the modules package to switch between different environments is provided. Examples illustrating the use of the MOAB scheduler for running production jobs are then provided.
Unix Skills for HPC
Presented by: Joel Zysman
Date: October 22, 2008
Abstract: This tutorial covers Unix skills that will boost productivity. Users will be introduced to the basic Unix and Linux environment as it applies to our production systems. The tutorial emphasizes best practices to commonly executed tasks such as basic scripting, makefiles, debugging, linking with software libraries and profiling.
Fortran Tips for Scientific Programming
Presented by: Arthur Mariano
Date: October 29, 2008
Abstract: This tutorial will provide users with practical tips on using Fortran for scientific computing. It covers practical issues such as floating point computations, numerical stability, round-off errors etc. Common pitfalls and pathological errors will be explained and suggestions to avoid such problems will be provided. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.
Performance Tuning of Fortran Codes
Presented by: Mohamed Iskandarani
Date: November 5, 2008
Abstract: This tutorial focuses on techniques and tools for optimizing the performance of serial programs. A variety of loop, arithmetic, and memory management optimization techniques are described for Fortran programs. Several source code analysis tools, timing utilities and execution analysis tools are presented. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.
Introduction to Parallel Computing
Presented by: Mohamed Iskandarani
Date: November 12, 2008
Abstract: This presentation covers the basics of parallel computing. Beginning with a brief overview and some concepts and terminology associated with parallel computing, the topics of parallel memory architectures and programming models are then explored. These topics are followed by a discussion on a number of issues related to designing parallel programs. The last portion of the presentation is spent examining how to parallelize several different types of serial programs. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.
Introduction to Shared Memory Programming using OpenMP
Presented by: Ashwanth Srinivasan
Date: November 19, 2008
Abstract: OpenMP is an Application Program Interface (API), jointly defined by a group of major computer hardware and software vendors. OpenMP provides a portable, scalable model for developers of shared memory parallel applications. The API supports C/C++ and Fortran on multiple architectures, including UNIX & Windows. This tutorial covers several features of OpenMP programming by using Fortran examples to illustrate various constructs and directives for specifying parallel regions, work sharing, synchronization and data environment. Runtime library functions and environment variables are also covered. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.
Introduction to Parallel Programming using MPI
Presented by: Mohamed Iskandarani
Date: November 26, 2008
Abstract: The goal of this tutorial is to introduce the process of developing and running parallel programs using the Message Passing Interface (MPI) standard. MPI is a standard for inter-process communication on distributed-memory multiprocessor based on the consensus of the MPI Forum, which has over 40 participating organizations, including vendors, researchers, software library developers, and users. The tutorial begins with an introduction, background, and basic information for getting started with MPI. This is followed by a detailed look at the MPI routines that are most useful for new MPI programmers, including MPI Environment Management, Point-to-Point Communications, and Collective Communications routines. Examples using Fortran are provided. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.
Scientific Data Formats and Data Access using OPeNDAP
Presented by: Ashwanth Srinivasan
Date: December 3, 2008
Abstract: Atmospheric and Oceanographic data are typically archived in several different "standard" scientific data formats. This tutorial provides an overview of the various standard formats and illustrates the use of the popular NetCDF format for reading and writing NetCDF files. The tutorial also discusses the Common Data Model (CDM) and provides examples of using OPeNDAP clients like Matlab, Ferret and IDL to access remote data available via OPeNDAP servers. Basic knowledge of Fortran or another mid/high-level programming language is a prerequisite.
Emerging trends in HPC
Presented by: Ashwanth Srinivasan
Date: December 10, 2008
Abstract: This tutorial will introduce emerging trends such Graphical Processing Units (GPU) and Field Programmable Gate Arrays (FPGA). Examples on using the NITA CUDA library will be presented.
