1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton [email protected].

14
1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton [email protected]

Transcript of 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton [email protected].

Page 1: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

1

MA471Introduction To

Scientific Computing

Fall 2003

Prof. Tim [email protected]

Page 2: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

2

Class and Lab Schedule• Class:

– Room 221, Miller Hall• Monday, Wednesday• 3:00pm to 3:50pm

– ESCP 110• Monday, Wednesday

• 4:00pm to 5:15pm

• Office hours:– By appointment

-- OR -- – Room 450, Humanities Building

• Tuesday, Thursday• 1:30pm – 3:00pm

Page 3: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

3

Grade Distribution

• 10 % class attendance and participation

• 40 % homework assignments

• 50 % project work

Page 4: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

4

Textbook

• Notes will be available after every lecture..

• Other materials covered will be supplemented with handouts available at:http://www.useme.org/MA471.html

• I will post this material as promptly aspossible after the class.

Web Page

Page 5: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

5

Attendance Policy

• I will endeavor to make this course as interactive as possible.

• Most of the ground covered will be accompanied by class demonstrations.

• It is strongly recommended that you attend all classes.

• Projects will be group based – non-attendance will effect your grade and will hinder the performance of your group.

Page 6: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

6

Minimal Homework and Project Presentation Standards

• All homework handed in must comply with the following format:• Student name, top left hand corner of every page• All sheets of paper must be stapled• All homework must be typed (I.e. use Word or Latex)• Math symbols may be inserted by hand

• Structure of work must be:1) Introduction (description of homework problem or project)2) Results including graphs, images and diagrams3) Discussion4) Computer code print outs

Graphs of results are easier to read than large tables of data

Page 7: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

7

Project Comments• This course is heavily project based

• All projects will be constructed by groups

• I reserve the right to change group compositions

• No member from one group may exchange code (or group secrets) with a member from another group

• Innovation beyond algorithms presented in class is encouraged – however, all code must be written by group member and the source of existing algorithms must be cited in code listing and in write up.

• All project code must be written in Matlab.

Page 8: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

8

Note

• Note: qualified students with disabilities needing appropriate academic adjustments should contact me as soon as possible to ensure your needs are met in a timely manner. Handouts are available in alternative accessible formats upon request.

Page 9: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

9

Provisional SyllabusThis is still under development but here are the main areas we are going to cover:

1) Using Unix2) Coding in C (or Fortran for the determined)3) Interfacing C and Fortran4) Compiler optimization5) Writing efficient code6) Using math libraries (BLAS, LAPACK, ATLAS, INTEL’S MKL math kernel library)…)7) Running a job on a parallel computer8) Parallel programming9) Using MPI (Message Passing Interface)10) Using Upshot for parallel profiling11) Visualization

Project contents:

1) Machines can play cards too , analyzing a set up for implementation2) Finite difference in parallel3) Working in coding groups4) Solving a large linear system in parallel5) Depending on interest – implementing a PDE solver for acoustics

Page 10: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

10

Computing Notes

1) Each student will be given an account on “blackbear” at the High PerformanceComputing and Education Center (HPCERC) formally known as AHPCC.

2) Jonathan Atencio maintains “blackbear”. His email is: [email protected]

3) Please direct questions about “blackbear” to Atencio, and cc me at the same time

4) I expect all students to be courteous and respectful in their communicationswith Atencio at all times. Any breaches of acceptable etiquette will be dealtwith in an appropriate manner. I.e. be nice to your systems manager

5) Your user name is: cs471a* (accounts to be allocated on Weds)

Page 11: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

11

Lecture 1Q) What is a parallel computer?

A) Something that performs multiple actions, simultaneously – or “in parallel” at least some of the time

This is possibly the most comprehensive description of a parallel computer.

What follows is a brief overview of one type of mode ofoperation of a parallel computer.

Page 12: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

12

Class Exercise 11) Arrange your selves in groups of 42) Each group is now a small cluster of 4 cpus (persons)

i.e. There should be 5 parallel computers

3) The following instructions should now be performed in each group:a) Find a single piece of paperb) Write your names on the piece of paperc) Memorize the names on the paperd) Introduce yourself to all the other cpuse) Congratulations you have just met your project group

Now – we analyze what went on

Page 13: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

13

Class Exercise 2Repeat exercise 1 with only one parallel computer with 20 processors.

Now – we analyze what went on

1) Form a 20 cpu parallel computer

2) Find a single piece of papera) Write your names on the piece of paperb) Memorize the names on the paper c) Introduce yourself to all the other cpusd) Congratulations you have just met your class

Page 14: 1 MA471 Introduction To Scientific Computing Fall 2003 Prof. Tim Warburton timwar@math.unm.edu.

14

Class Exercise 31) Return to your groups of 42) Obtain one pack of playing cards from the instructor

3) Choose a game from the following:1) Poker2) 213) Go Fish4) Hearts5) Spades

4) Play a hand or two with NO BETTING !!!!!!!5) Ok – now the hard part, analyze where the cards go!!6) I.e. Is there a dealer involved?, do you talk to any of the other players, or

just your neighbor. Does your neighbor change between hands?…7) Each person must write up a (less than one page) analysis of the way the

cards travel – and document if there is any other information passed? 8) Hand in write up on Wednesday 27th August

9) Diagrams are encouraged – as long as they are explained in text.