The growing variety of parallel computers has made it difficult to design portable tools for parallel programs. The article shows how an interactive visualization tool can be designed to work with a variety of parallel machines. The design includes a strategy for adapting to differences in the interfaces and capabilities of the low-level debuggers supplied by hardware vendors. The tool uses these debuggers to perform basic tasks like setting breakpoints and examining variables. By dividing each interaction between the visualization tool and the "base debugger" into a sequence of customizable steps, one can write code that adapts cleanly and efficiently to differences in the debuggers. This design has been implemented in the Panorama parallel debugger, which runs on several message-passing multicomputers.
展开▼