Introduction to the CRPC

High-performance computing is an essential tool in science and engineering. It is used to simulate physical phenomena, analyze data, link theory with reality, and design everything from simple machine parts to massively parallel computers. Further advancements in the use of high-performance computing will require not only faster, more powerful computers, but more efficient software and algorithms. However, successful efforts to increase the performance speed of traditional single-processor computers have come slowly in the past few years.

Parallel processing provides the answer to the problems of speed and efficiency. The next generation of parallel computers will achieve more than three trillion floating-point operations per second (three teraflops). Unfortunately, massively parallel machines require different algorithms from those used for sequential processing. Also, managing multiple processors makes parallel machines hard to program. These factors have inhibited the research community's acceptance of parallel computing.

A concentrated effort to address these problems exists, however. The Center for Research on Parallel Computation (CRPC) was established in 1989 with a commitment to making parallel computer systems usable for scientists and engineers. As one of the 11 original National Science Foundation Science and Technology Centers, the CRPC is a research consortium of six participating institutions: Argonne National Laboratory, the California Institute of Technology, Los Alamos National Laboratory, Rice University, Syracuse University, and the University of Tennessee.

Much has been accomplished since the CRPC's establishment. New software tools have been developed along with new parallel algorithms and prototype implementations of scientific application programs. Educational, outreach, and applications programs have achieved the CRPC's goal of distributing these ideas and technologies to the outside community. In the coming years, researchers will build upon this development and concentrate on massive parallelism and architecture independence.

Education

In education, CRPC programs for elementary and secondary schools provide teachers and administrators with the motivational tools needed to inspire their students to become scientists and engineers. Undergraduate and graduate programs train students in the use of parallel technologies and give them experience that they can bring to the scientific community and to industry. For information on CRPC accomplishments in education, see here.

Outreach and Knowledge Transfer

Outreach and knowledge transfer to the scientific community are important goals for the CRPC. Specific mechanisms for knowledge transfer to industry include special-topic workshops and training programs, short- and long-term visits, research collaborations, and corporate affiliates programs. In addition, information is disseminated to the overall scientific community through technical reports and other journals, a quarterly newsletter, and an annual research symposium. For information on outreach and knowledge transfer, see here.

Research

CRPC research is both interdisciplinary and interinstitutional. Projects are shared among the six CRPC sites and collaborations with industry, academic institutions, and government laboratories are commonplace. The strength of the research is in the combined efforts and use of shared resources among the scientists. Most of the research falls within five principal thrusts: Fortran Parallel Pro-gramming Systems, Parallel Paradigm Integration, Linear Algebra, Optimization and Automatic Differentiation, and Differential Equations. Research results are evaluated within several CRPC applications projects. The principal research efforts, more fully described here, are:

Below: CRPC graduate student Paul Havlak gives computer demonstrations to high school students as part of the South Texas Science Academy's Intern Program at Rice University. CRPC educational programs introduce parallel computing concepts to K-12 students as well as to undergraduate and graduate students.

Below: The numerical method used here is very fast but suffers from large errors where the triangulation is irregular. An improved method has been developed that reduces these errors while preserving the speed of the algorithm. This research is part of the Flow in Porous Media Parallel Project (FPMPP). Through the outreach and knowledge transfer activities of the FPMPP and the CRPC corporate affiliates programs, industrial scientists are introduced to new methods used in parallel computing. - P. Keenan, Rice University