ABSTRACT

Parallel Virtual Machine (PVM) is a software package that enables concurrent computing on loosely coupled networks of processing elements. The PVM user interface is strongly typed; support for operating in a heterogeneous environment is provided in the form of special constructs that selectively perform machine-dependent data conversions. This chapter describes the parallelization of a large materials science application code including modifications required to run on heterogeneous supercomputers. Application programs view PVM as a general and flexible parallel computing resource that supports a Message passing model of computation. Graphical tools in HeNCE allow the user to dynamically configure a parallel collection of machines into a parallel virtual computer. The parallel implementation is based on a master/slave paradigm to reduce memory requirements and synchronization overhead. The Korringa, Kohn and Rostoker coherent potential approximation (KKR-CPA) algorithm contains several locations where parallelism can be exploited. These locations correspond to integrations in the KKR-CPA algorithm.