MA375 - Rice U - Computational and Applied Mathematics

Download Report

Transcript MA375 - Rice U - Computational and Applied Mathematics

MA471
Introduction To
Scientific Computing
Fall 2003
Prof. Tim Warburton
[email protected]
1
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
2
Grade Distribution
• 10 % class attendance and participation
• 40 % homework assignments
• 50 % project work
3
Textbook
• Notes will be available after every
lecture..
Web Page
• Other materials covered will be
supplemented with handouts available at:
http://www.useme.org/MA471.html
• I will post this material as promptly as
possible after the class.
4
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.
5
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 diagrams
3) Discussion
4) Computer code print outs
Graphs of results are easier to read than large tables of data
6
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.
7
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.
8
Provisional Syllabus
This is still under development but here are the main areas we are going to cover:
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
Using Unix
Coding in C (or Fortran for the determined)
Interfacing C and Fortran
Compiler optimization
Writing efficient code
Using math libraries (BLAS, LAPACK, ATLAS, INTEL’S MKL math kernel library)…)
Running a job on a parallel computer
Parallel programming
Using MPI (Message Passing Interface)
Using Upshot for parallel profiling
Visualization
Project contents:
1)
2)
3)
4)
5)
Machines can play cards too , analyzing a set up for implementation
Finite difference in parallel
Working in coding groups
Solving a large linear system in parallel
Depending on interest – implementing a PDE solver for acoustics
9
Computing Notes
1)
Each student will be given an account on “blackbear” at the High Performance
Computing 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 communications
with Atencio at all times. Any breaches of acceptable etiquette will be dealt
with in an appropriate manner. I.e. be nice to your systems manager 
5)
Your user name is: cs471a*
(accounts to be allocated on Weds)
10
Lecture 1
Q) 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 of
operation of a parallel computer.
11
Class Exercise 1
1) Arrange your selves in groups of 4
2) 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 paper
b) Write your names on the piece of paper
c) Memorize the names on the paper
d) Introduce yourself to all the other cpus
e) Congratulations you have just met your project group 
Now – we analyze what went on
12
Class Exercise 2
Repeat exercise 1 with only one parallel
computer with 20 processors.
1) Form a 20 cpu parallel computer
2) Find a single piece of paper
a) Write your names on the piece of paper
b) Memorize the names on the paper 
c) Introduce yourself to all the other cpus
d) Congratulations you have just met your class 
Now – we analyze what went on
13
Class Exercise 3
1) Return to your groups of 4
2) Obtain one pack of playing cards from the instructor
3) Choose a game from the following:
1) Poker
2) 21
3) Go Fish
4) Hearts
5) 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 
14
9) Diagrams are encouraged – as long as they are explained in text.