Introduction to High-Performance Scientific Computing

An overview of scientific computing: introduction, large-scale scientific problems, the scientific computing environment, workstations, supercomputers, further reading. Part 1 Background: a review of selected topics from numerical analysis - notation, error, floating-point numbers, Taylor's series, linear algebra, differential equations, fourier series IEEE arithmetic short reference - single precision, double precision, rounding, infinity, NaN, and zero, of things not said, further reading UNIX, vi, and ftp - a quick review - UNIX short reference, vi short reference, ftp short reference elements of UNIX make - introduction, an example of using make, some advantages of make, the makefile, further examples, dynamic macros, user-defined macros, additional features, other examples, a makefile for C, creating your own makefile, futher information, a makefile for fortran modules, a makefile for C modules elements of fortran - introduction, overview, definitions and basic rules, description of statements, reading and writing, examples. Part 2 Tools: elements of matlab - what is MATLAB?, getting started, some examples, short outline of the language, built-in functions, MATLAB scripts and user-defined functions, input/output, graphics, that's it! elements of IDL - getting started, exploring the basic concepts, plotting, programming in IDL, input/output, using IDL efficiently, summary elements of AVS - basic concepts, AVS graphical programming - the Network editor, the geometry viewer, AVS applications, further reading. Part 3 Scientific visualization: scientific visualization - definitions and goals of scientific visualization, history of scientific visualization, example of scientific visualization, concepts of scientific visualization, visual cues, characterization of scientific data, visualization techniques, annotations, interactivity, interpretation goals to pursue with visualization, quantitative versus qualitative data interpretation. Part 4 Architectures: computer performance - introduction and background, computer performance, benchmarks, the effect of optimizing compilers, other architectural factors, vector and parallel computers, summary. (Part contents).