This CAREER award supports research in methods and tools for performance prediction of parallel programs. The goal is a tool set that incorporates general and accurate methods to predict the performance of a parallel application in advance of its execution. The approach taken is based on prior work that has built tools to measure the performance of parallel programs (Predicate Profiling) and automatically construct performance models of existing applications (Lost Cycles Analysis). While the prior work has relied principally on dynamic whole-program analysis, this research will add static analysis techniques and apply dynamic tools to program fragments. By applying those tools to program fragments, the research seeks a flexible method for the performance prediction of alternative program structures. The resulting tool is expected to aid computational scientists attempting to tune the performance of programs running on high performance, massively parallel architectures. The educational component of this CAREER award addresses course development and teaching of parallel processing for undergraduates, performance measurement and prediction for graduate students, and a new approach to introductory computer science for freshmen.