BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN VERSION:1.0 BEGIN:VEVENT DTSTART:20111114T163000Z DTEND:20111115T010000Z LOCATION: DESCRIPTION;ENCODING=QUOTED-PRINTABLE:ABSTRACT: MPI programming is error prone, due to the large number of different MPI-calls, the complex MPI semantics and the general difficulties of parallel programming. Debugging is a cumbersome and time-consuming task that is complicated by the number of parallel processes, non-determinism as well as platform dependent bugs. We start with a summary of common MPI errors and programming techniques to avoid those errors in the first place. Afterwards, tools that automatically detect these errors are introduced. Techniques to apply debuggers for cases where these tools provide no insight are also presented. Finally we present a technique for formal verification. We also focus on how these techniques can work together and complement each other. Workflows and comparisons will guide application developers in applying these tools to real world scenarios. The runtime error detection tool MUST can automatically detect and report deadlocks, a large number of different messaging errors, and resource leaks. For parallel debugging we present DDT, which proved to scale up to 220,000 tasks while offering an intuitive and easy to use user interface. The verification tool ISP achieves guaranteed coverage of non-deterministic matches by enforcing relevant interleavings. After the demonstration of these tools, we will provide hands-on exercises. SUMMARY:M06: Dealing with MPI Bugs at Scale: Best Practices, Automatic Detection, Debugging, and Formal Verification PRIORITY:3 END:VEVENT END:VCALENDAR