Computational Science Summer School
Proven Algorithmic Techniques for Many-core Processors
Wen-Mei W. Hwu (UIUC)
David Kirk (NVIDIA)
ORGANIZERS |
ADVISORS |
|
Hemant Shukla |
Horst Simon |
|
John Shalf |
Kathy Yelick |
|
Masoud Nikravesh |
On August 2-6, 2010, at NERSC 415 20th St, Oakland, CA 94612
Multicore architectures are rapidly becoming the choice for scientific high-performance computing (HPC). Commodity multicore devices such as graphics processing units (GPUs) are adopted in various scientific domains for acceleration of applications. This broad scale deployment has initiated need for new programming languages, models, and algorithmic techniques.
The Virtual School of Computational Science and Engineering offers a five-day course to learn how to use multicore devices for scientific computing, scale parallel code to tens of thousands, of CPU cores, handle large data volumes and more.
Since 2008, nearly 250 students and researchers have participated in the annual Summer School offered by the Virtual School. During Summer School, participants learn new techniques for applying HPC systems to their work.
Participants attend technical sessions presented by leading researchers in computational science and engineering and use cutting edge, high-performance computing systems. Course participants apply the techniques learned in hands-on lab sessions, assisted by skilled teaching assistants who work one-on-one and in small groups to answer questions and solve problems posed during the sessions.
Participants are expected to be familiar with basics of parallel programming. However, to help meet the course prerequisites, upon registration, the participants will be encouraged to review the provided online courses on MPI, OpenMP and CUDA.
The space is limited therefore seat will be offered on first-come basis.
Please register below.
Course Details
Prerequisites:
- Experience working in a Unix environment
- Experience developing and running scientific codes written in C or C++
- Basic knowledge of CUDA (A short online course, is available to registered participants)
Course outline:
- Introduction
- why problem formulation and algorithm design choices can have dramatic effect on performance
- common algorithmic strategies for high performance
- Increasing locality in dense arrays
- tiling of data access and layout
- Improving efficiency and vectorization in dense arrays
- granularity coarsening
- Reducing output interference
- conversion from scatter to gather
- parallelizing reductions and histograms
- Dealing with non-uniform data
- data sorting and binning
- Dealing with sparse data
- sorting and packing
- Dealing with dynamic data
- parallel queue-based algorithms
- Improving data efficiency in large data traversal
- stencil and other grid-based computation
- Extending beyond many-core processors
- MPI+CUDA
- MPI+OpenCL
- Overview of use of techniques in application domains
- molecular dynamics
- computational fluid dynamics
- medical imaging
- computer vision
- gene sequencing
- Case studies:
- molecular dynamics (NAMD/VMD, MPI, use of algorithm strategies)
- medical imaging
- gene sequencing, financial analysis, etc.
- Hands-on Lab
Please register below, but before you do please read the following instructions carefully,
- Registration is limited to 35 participants only and will be accepted on first-come first-served basis
- The summer school is FREE for our participants therefore ignore the $100 registration fee
- Provide your institutional email – berkeley.edu, lbl.gov etc.
- Follow the instructions on the registration page
For further questions contact: