
Five intensive days developing parallel applications that take advantage of high-performance clusters and Microsoft Windows Compute Cluster Server 2003 / HPC Server 2008
This course provides in-depth coverage of high-performance application development
and design using Microsoft Windows Compute Cluster Server 2003 and HPC Server 2008.
Intended for both commercial developers and academic researchers, our goal is to
quickly bring attendees up to speed on the design and development of 64-bit parallel
codes. Attendees learn to take full advantage of modern high-performance clusters,
from running simple parametric sweeps to developing multi-core, multi-node apps with
OpenMP, PFx, MPI, and MPI.NET. Discussion includes numerous practical considerations, including
data distribution and collection, debugging, tracing, porting, performance tuning, visualization,
and customizing the client-side submission process via the scheduler's API. The course follows a
lecture/lab format, providing every attendee with hands-on development experience using a
high-performance cluster. The programming languages used are C++ and C#.
Highlights
- Introduction to Windows CCS 2003 / HPC Server 2008: setup, usage and customization
- Parallel programming — theory and practice
- Parallelizing existing applications for parametric sweep
- Using OpenMP and PFx (.NET Parallel Framework) to develop multi-threaded, shared-memory codes
- Using MPI and MPI.NET to develop multi-process, distributed-memory codes
- Advanced MPI programming: I/O, processes, groups, and topologies
- Building service-oriented and interactive HPC apps using HPC Server 2008's new SOA capabilities
- Excel Services and HPC
- Integrating SQL Server databases into high-performance applications
- Compiling, tracing and debugging with Microsoft Visual Studio 2008, Visual C++ and ETW
- Porting considerations and performance tuning
- Patterns for parallel applications
- Hands-on lab exercises with your very own high-performance cluster
Who Should Attend
Business developers, scientific programmers, and academic researchers interested in high-performance computing on the Windows platform.
Prerequisites:
Attendees should be proficient in C or C++. Prior experience in high-performance computing is not required.
What you should expect to learn:
How to design, develop, debug and tune high-performance computing applications on Windows CCS 2003 and HPC Server 2008 clusters.
How to setup and administer Windows CCS 2003 and HPC Server 2008 clusters.
Questions this course will answer:
- Can I run my existing applications under Windows CCS 2003? Windows HPC Server 2008?
- When to use parametric sweep? OpenMP? MPI?
- Can I use both OpenMP and MPI in the same application?
- How much of a performance boost can I expect to see?
- If I need to work in managed code, what are my options? PFx? MPI.NET?
- How do I program against the scheduler's API to create a better user experience?
- How do I build more interactive HPC apps?
- How do I integrate HPC into an existing SOA?
- What are the porting issues from a 32-bit platform? Unix-based platform?
- What is a race condition, and how do I win?
- What is deadlock, and how do I avoid it?
- How do I use Event Tracing for Windows to trace my HPC app?
- Can I use SQL Server with my parallel applications? Should I?
- How do I setup and administer a Windows CCS 2003 or HPC Server 2008 cluster?
For more information on offerings of this course, contact Pluralsight here.
|