Introduction

What exactly is High Performance Computing (HPC)? Textbook answers say things like HPC "refers to the full range of supercomputing activities including existing supercomputer systems, special purpose and experimental systems, and the new generation of large scale parallel architectures." If such a statement clears things up for you, then you probably already know a great deal about HPC. However, if you still don't have a clue, don't worry, I had the same feeling when I read this definition initially. This is the greatest problem with virtually all HPC resources: their explanations assume previous knowledge that many of us simply do not have. Thus, lets start at the beginning with the simplest of explanations.

HPC can be boiled down to one thing: speed. The goal is to achieve the maximum amount of computations in minimum amount of time. However, from this goal grows the myriad complexities that make up HPC. The intent of the author of these pages is to muck through these complexities without confusing the reader (or himself).

Much of these pages will discuss computer architecture, because computer architecture is what high performance is derived from. Central to this topic will be discussions about CISC, RISC, pipelining, parallelism, and memory.

Finally, we will look at the reason for the complexity that is HPC, its uses, such as creating simulations to answer real world questions and quickly completing massive computations.

Next Home