next up previous
Next: Topic 3: Numerical calculus Up: PHYS 3301 Scientific Computing Previous: Topic 1: Introduction &

Topic 2: Computers: Know your tools!

Introduction

The hardware and software used in scientific computing has diversified over the past 30 years or so to become a very broad topic. We can cover only the basic elements it in this lecture series. If you find yourself doing a lot of computing on a particular architecture or within a particular software environment, it would be very useful to probe into the particular strengths or weaknesses of your tools.

Hardware functional units

bus, CPU, RAM/ROM, Disks, Cache

Software

machine code, assembler, compiler, interpreter, packages

Programming style

Help the computer, help yourself, help others!

You have been encouraged to keep a log book in your scientific laboratory classes. You will find that the habit of keeping a written record of your computer work will give you a valuable list of resources and techniques in the future, and also save you a lot of time.

Number representations

integers, floating point, IEEE-754

Precision, associativity & commutativity of operations

does    a+(b+c) = c+(a+b)    ALWAYS?

Arrays & storage topologies

C/C++ and FORTRAN77/90 store numbers in different ways.

Tutorial goals

Explore the conversion of internal representations to formatted output in C/C++ or FORTRAN77/90

Write (or find) small programs to explore underflow and overflow effects, and to try to demonstrate non-associative arithmetic.

Advanced students might wish to explore how far the SGi representation adheres to the IEEE-754 standard which is discussed extensively at this hyperreference.


next up previous
Next: Topic 3: Numerical calculus Up: PHYS 3301 Scientific Computing Previous: Topic 1: Introduction &
Daniel Mitchell
1999-03-03