High-performance computing curriculum
With high-performance computing (HPC) we are able to study phenomena that cannot be explained nor understood with the traditional scientific methods of experimentation and theorization because of the enormous amounts of experimental data or the extent and complexity of the studied phenomenon. Many important scientific breakthroughs have been achieved with high-performance computing. HPC is being employed to solve many great challenges, such as modeling and predicting climate change, epidemics, as well to design of new technology. It has been successfully applied to a wide range of problems from cosmology to medical imaging; from linguistics to mobile phone design.
CSC's HPC curriculum is a continuum of eleven course days that introduces efficient practices for usage of supercomputers. The topics include programming and scripting languages, parallel programming and code optimization. The courses consist of lectures and related exercises. The courses last from one to four days, and are lectured in English. The curriculum includes the following parts:
CSC supercomputing environment (September 14, 2010)
This course is an introduction to efficient use of CSC's metacomputer environment: data storage, batch job systems, the Scientist's Interface. Also porting applications to the systems is addressed. Course page
Scripting techniques (October 25, 2010)
This is a crash course to shell scripting, including Awk, Sed, and Perl syntaxes. These techniques are very useful for data pre/post-processing and to working in the Unix environment in general. Course page
Fortran 95/2003 workshop (October 26-27, 2010)
The Fortran workshop is a no-nonsense introduction to perhaps the most widely used HPC programming language. It provides the basic knowledge of Fortran programming and a solid base for further considerations. Course page
Introduction to parallel programming with MPI (November 24-25, 2010)
In supercomputing, one has to employ hundreds or thousands of interconnected processors simultaneously. This course is an introduction to parallel programming using the message-passing interface paradigm, after which the participants should be able to parallelize sequential programs and write simple parallel programs. Course page
Python for scientific computing (January 19, 2011)
This course is a more advanced treatment of Python, an easy, elegant and versatile scripting language, from the HPC point-of-view. Topics include using MPI with Python and the NumPy package for numeric computing.
Parallel programming (February 22-25, 2011)
The curriculum is concluded by a workshop that goes to more advanced topics and techniques in HPC programming. Parallel algorithms, more advanced topics in MPI, parallel I/O, as well as shared memory parallelization techniques alone and combined with MPI are discussed and exemplified. Also techniques for improving parallel scalability and performance of applications are discussed in detail.Program
A more detailed schedule of each course will be published on dedicated course pages, that will appear on the CSC's Courses and Events calendar closer to the course.
Registration
Additional information
For further information, please contact courses@csc.fi.
