High Performance Computing on the Sun Fire SMP-Cluster
March 14 - 18, 2005
- Time and Location
- The Participants
- The Speakers
- The Costs
- Travel Information
- Course Material and Links
Have you wanted to know more how to optimize a technical, scientific application for a modern RISC microprocessor? Are you interested in learning about parallelization? Now is the time to learn!
We will focus on serial program tuning, as well as tuning shared and distributed memory parallel applications using automatic parallelization, OpenMP resp. MPI. No background knowledge in these topics is assumed. We will cover the basics as well.
The general philosophy of the workshop is to build up understanding of key concepts that are relevant to obtain good application performance. Once this is achieved, it is much easier to use the development environment in the best possible way.
The Sun compilers, the Sun performance analyzer and the Sun HPC ClusterTools environment (MPI) will be covered in detail. It will be shown how these tools can be used to get optimal performance out of UltraSPARC IV and Opteron based Sun workstations and servers.
We will also briefly touch upon several third party software products, which augment the programmer's tool suite on the Sun systems.
Attendees should be comfortable with C or Fortran programming and interested in learning more about the technical details of application tuning. Although there is no special coverage of C++ and the examples are in Fortran and/or C, C++ programmers will certainly benefit from this course as well.
Prepared lab exercises will be made available to participants. These exercises have been selected to demonstrate features discussed in the presentations. Participants who prefer to work on their own application(s) instead will be welcome to do so. A suitable preparation of Makefiles and small plus medium sized data sets are of course desirable in this case.
The workshop language will be English.
Ruud van der Pas ...
has a degree in numerical mathematics and physics. Since 1985, he has been involved with High Performance and Technical Computing. After having worked for 4 years as a consultant in numerical analysis and high-end computing at the University of Utrecht, and after positions at Convex and SGI, Ruud works for Sun Microsystems since 1998. He is a senior staff engineer in Sun's Scalable Systems Group and is actively involved in application tuning. He provides performance consultancy to customers and works with several engineering groups within Sun to enhance current and future products. Ruud will be the main speaker of parts I and II of the workshop
Jonas Edberg ...
has studied applied mechanics and received a Ph.D. degree from Luleå University of Technology in 1996 on "Numerical Modeling of Hot Rolling" using and developing finite element analysis (FEM). He now works with High Performance Technical Computing support within Sun Service PTS (Product Technical Support) in EMEA which provides world-wide customer supports for Sun HPC ClusterTools, Compiler/Development Tools and Sun ONE Grid Engine Software. Before joining Sun in 1998, he was a project leader and senior research scientist at Mefos which is a Industrial research institute for the metallurgical and metalworking industry. He worked as a collaborator with Lawrence Livermore laboratories on the development of the finite element codes Nike, Dyna and Topaz. Jonas will be the main speaker of part III of the workshop.
Richard Friedman ...
is senior documentation specialist for Sun Studio compilers. He has a degree in mathematics and has been involved in scientific programming since the 1960's, starting at the Courant Institute of New York University (CDC 6600), and the Lawrence Berkeley Lab (University of California, CDC 7600). In the '70's he spent a year at the University of London Computer Centre (CDC 7600) and another year at the European Weather Centre (ECMWF, England) (Cray 1) providing user's support. Richard joined Sun in 1995 after more than ten years as an applications consultant with Pacific Sierra Research and Applied Parallel Research, developing automatic parallelization software and giving training workshops on scientific programming, software optimization, and parallel programming. At Sun he is responsible for the Fortran and OpenMP documentation as well as the Sun Studio developers portal. Richard will present documentation, code samples, forums, and patches provided by Sun.
Dieter an Mey ...
studied Mathematics and Computer Science at the RWTH Aachen University. Since 1983 he is a consultant in high performance technical computing at the Center for Computing and Communication. He will present introductions into some state-of-the-art third party software products for program development and give a basic introduction into MPI.
studies Computer Science at the RWTH Aachen University. He has a position as a student worker in the high performance computing team at the Center for Computing and Communication. He will report on his experiences with Tools for OpenMP programming.
The following topics will be covered in detail:
- Part I: Tuning Serial Applications
- The memory hierarchy in RISC cache based systems
- Serial optimization techniques
- The following Sun Studio components
- The Fortran and C compilers
- The Performance Library
- The Performance Analyzer
- The TotalView Debugger
- Microprocessor and server architectures
- Serial optimization techniques
- Modulo Scheduling
- Case studies serial optimization
- Part II: Shared Memory Parallelization
- Introduction into parallelization
- Shared memory parallelization
- Data dependency analysis
- Automatic Parallelization
- Explicit Shared Memory Parallelization with OpenMP
- tuning OpenMP applications
- OpenMP Case Studies
- Tools for OpenMP Programming (Sun Performance Analyzer / GuideView / Assure )
- Part III: Distributed Memory Parallelization using MPI
- Introduction into explicit message passing programming using the Message Passing Interface (MPI)
- Sun HPC ClusterTools 5 overview
- Build & execution environment for MPI applications (Cluster Runtime Environment CRE)
- Debugging MPI codes on Sun using Prism
- Debugging MPI codes with TotalView
- Sun MPI implementation
- Runtime consideration and tuning
- Optimizing MPI communication
- Sun Scalable Scientific Subroutine Library (Sun S3L)
- MPI performance analysis
- Vampir/Vampirtrace overview
The seminar is organized in cooperation with the RWTH Aachen University and Sun Microsystems. There is no seminar fee. All other costs (e.g. travel, hotel, and consumptions) are at your own expenses.
Registration for the Workshop (Part I, II, and III separately!) is mandatory.
Allocation is on a first come, first served basis, as we are limited in capacity.
The registration deadline is March 7, 2005.
Register here for Part I: Tuning Serial Applications
Register here for Part II: Shared Memory Parallelization
Register here for Part III: Distributed Memory Parallelization using MPI
Please, fill out the registration form carefully, as we will generate certificates of attendance automatically upon request.
Please make your own hotel reservation.
You can find some housing information here. A complete list of hotels is on the web pages of the Aachen Tourist Service.
Please, download a sketch of the city (pdf, 415 KB) with some points of interest marked.
You may find a description of how to reach us by plane, train or car here.
Bus route 33 connects the city and the stop "Mies-van-der-Rohe-Straße" every 15 minutes.
Trains between Aachen and Düsseldorf stop at "Aachen West" station which is a 5 minutes walk away from the center.
From the bus stop and the train station just walk uphill the "Seffenter Weg". The first buildung on the lefthand side at the junction with "Kopernikusstraße" is the Computing Center.
The weather in Aachen is usually unpredictable. At that time of the year the temperatures will be most likely between 10 and 15 degrees Celsius. It is always a good idea to carry an umbrella. If you'll bring one, it might be sunny!
Additional Course Material ...
- Printed slides of Ruud's and Jonas' talks have been distributed on site
- Part I, Tuning Serial Applications
- Introduction (pdf, video)
- The Memory Hierarchie (video)
- Sun Fire Architecture Overview (video)
- The Sun Compilers, Part 1 (video)
- The Sun Compilers, Part 2 (video)
- The Sun Performance Analyzer (video)
- The Sun Performance Analyzer Demonstration (real media)
- Serial Debugging with TotalView (pdf, video)
- Serial Optimization Techniques (video)
- Modulo Scheduling (video)
- Performance Tuning Case Studies (video)
- The Sun Studio IDE Demonstration (real media)
- Part II, Shared Memory Parallelization
- Introduction into Parallelization (video)
- Automatic Parallelization (video)
- Introduction into OpenMP (video)
- Memory Placement Considerations (real media)
- OpenMP Directives (video)
- OpenMP Case Studies 1 (video)
- OpenMP Case Studies 2 (pdf, video)
- OpenMP Debugging (pdf, real media)
- OpenMP Tools (pdf, video)
- Part III, Message Passing using MPI
- MPI Introduction (pdf, video)
- Sun HPC ClusterTools (video)
- Sun MPI Implementation (video)
- Runtime Consideration and Tuning (video)
- Optimizing MPI Communication (video)
- Prism Parallel Debugger (video)
- MPI Debugging with TotalView (pdf, video)
- MPI Debugging with TotalView Demonstration (real media)
- Intel Trace Collector and Analyzer (pdf, video)
- MPI Communication Case Studies (video)
- Sun Scalable Scientific Subroutine Library (video)
- Sun MPI Performance Analysis (video)
- Wrap-up (pdf, video)
- Lab Descriptions
- The Sun Fire SMP-Cluster at the RWTH Aachen University (html)
- Sun Fire SMP Cluster Primer (Solaris) (pdf)
- Library of all Sun documention (html)
- Sun Developer Portal (html)
- Sun Studio Portal (html)
- Solaris Developer's Portal (html)
- Solaris information (html)
- Sun Discussion Forums (html)
- You can find the recordings of a previous event SunHPC 2004 Colloquium here.
- Detailled Agenda (pdf)
- Poster (pdf)
- Flyer (pdf)
- Announcement (txt)
- Logo (gif)
Dieter an Mey
Tel.: +49 241 80 24377
Fax: +49 241 80 22504