MAT2409 High Performance Numerical Computing
|Semester 1, 2012 On-campus Toowoomba|
|Faculty or Section :||Faculty of Sciences|
|School or Department :||Maths and Computing|
|Version produced :||30 December 2013|
Examiner: Leigh Brookshaw
Moderator: Harry Butler
Pre-requisite: CSC1401 and MAT1102 or Students must be enrolled in one of the following Programs: MPIT or MCOT or MCTE
Many areas of computing in engineering, science, technology and games require programmers to have insight and skills in the implementation of common numerical computations. Programming high performance computers to rapidly perform large scale tasks requires considerable skill. Modern vector and super-scalar computers are very fast - but to achieve anything remotely like the peak speed requires special programming styles sympathetic to the computer architecture. Using fundamental algorithmic tasks of science, this course develops the ability to design good algorithms for modern computer architectures.
This course develops skills in programming modern high performance computers. It examines some of the typical hardware architectures and how they affect performance and programming. Algorithms to illustrate the principles are chosen from a range of scientific tasks. The course includes the study of numerical solutions of linear and non-linear equations, numerical interpolation and curve fitting, the numerical solution of ordinary differential equations, and Monte Carlo simulation. Interaction utilising modern graphics is exploited.
Completion of this course will enable students to:
- describe the relevant architecture of modern high performance computers;
- understand the principles of high performance programming using vector operations;
- demonstrate an understanding of a variety of computer-based methods and their errors, used in the solution of numerical problems;
- choose appropriate techniques (including graphics) for particular applications and solutions;
- implement numerical solutions using computer-based techniques.
High performance computer architecture
Computer Architecture, Different HPC Architectures, Performance Measures and Computational Error Analysis
Solving Linear and Nonlinear Equations
Newton's method and other fixed point iteration; linear systems; condition numbers; Jacobi's iterative solution of linear systems; Newton's method for nonlinear systems.
Numerical Interpolation and Curve Fitting
Interpolation with polynomials, derivatives and integrals of interpolants; least squares approximations.
Simulation and Monte Carlo methods
Process simulation; Monte Carlo integration; Random Numbers
Solution of ordinary differential equations
Difference approximations; Euler's method; modified Euler's method; the Runge-Kutta RK4 method
Text and materials required to be purchased or accessed
ALL textbooks and materials available to be purchased can be sourced from USQ's Online Bookshop (unless otherwise stated). (https://bookshop.usq.edu.au/bookweb/subject.cgi?year=2012&sem=01&subject1=MAT2409)
Please contact us for alternative purchase options from USQ Bookshop. (https://bookshop.usq.edu.au/contact/)
The Student Edition of Matlab, Manual and CD, Prentice-Hall.
(or Scilab http://www.scilab.org/.)
Access to computer and internet facilities for computer programming and assignment submission.
ANU 1998, Supercomputer Facility,
Austin, M & Chancogne, D 1999, Introduction to Engineering Programming: In C, Matlab and Java, Wiley, New York.
Computer Science Education Project 1998, Computer Architecture,
Etter, DM 1996, Engineering Problem Solving with MATLAB, 2nd edn, Prentice-Hall, Upper Saddle River, NJ.
Foster, I 1995, Designing and Building Parallel Programs,
<http://www.qpsf.edu.au/mirrors/dbpp/index.html (Addison-Wesley, Reading, Mass)>.
(Addison-Wesley, Reading, Mass.)
Gerber, Richard 2002, The Software Optimization Cookbook: high performance recipes for the Intel architecture, Intel Press, United States.
(ISBN 0 9712887 1 4.)
International Journal of High Performance Computing Applications.
Karin, S & Smith, NP 1987, The Supercomputer Era, Harcourt Brace Jovanovich, Boston.
Kauffmann, WJ 1993, Supercomputing and the Transformation of Science, Scientific American Library, New York.
Kincaid, D & Cheney, W 1996, Numerical Analysis: Mathematics of Scientific Computing, 2nd edn, Brooks/Cole, Pacific Grove, Calif.
Kreyszig, E 2006, Advanced Engineering Mathematics, 9th edn, Wiley, New York.
Mendez, R 1992, High Performance Computing: Research and Practice in Japan, Wiley, New York.
Palm, WJ 2001, Introduction to Matlab 6 for Engineers, WCB McGraw-Hill, Boston.
Quinn, MJ 1987, Designing Efficient Algorithms for Parallel Computers, McGraw-Hill Computer Science Series, New York.
Reinders, James 2005, Vtune Performance Analyzer Essentials: measurement and tuning techniques for software developers, Intel Press, United States.
(ISBN 0 9743649 5 9.)
Student workload requirements
|Description||Marks out of||Wtg (%)||Due Date||Notes|
|MATLAB SCRIPT SUBMISSION 1||20||8||19 Mar 2012|
|MATLAB SCRIPT SUBMISSION 2||20||8||02 Apr 2012|
|MATLAB SCRIPT SUBMISSION 3||20||8||24 Apr 2012|
|MATLAB SCRIPT SUBMISSION 4||20||8||07 May 2012|
|MATLAB SCRIPT SUBMISSION 5||20||8||28 May 2012|
|2HR OPEN EXAMINATION||100||60||End S1||(see note 1)|
- Examination dates will be available during the semester. Please refer to the examination timetable when published.
Important assessment information
It is the students' responsibility to attend and participate appropriately in all activities (such as lectures, tutorials, laboratories and practical work) scheduled for them, and to study all material provided to them or required to be accessed by them to maximise their chance of meeting the objectives of the course and to be informed of course-related activities and administration.
Requirements for students to complete each assessment item satisfactorily:
There are no attendance requirements for this course. However, it is the students' responsibility to study all material provided to them or required to be accessed by them to maximise their chance of meeting the objectives of the course and to be informed of course-related activities and administration.
Penalties for late submission of required work:
If students submit assignments after the due date without (prior) approval of the examiner then a penalty of 5% of the total marks gained by the student for the assignment may apply for each working day late up to ten working days at which time a mark of zero may be recorded. No assignments will be accepted after model answers have been posted.
Requirements for student to be awarded a passing grade in the course:
To be assured of receiving a passing grade a student must achieve at least 50% of the total weighted marks available for the course.
Method used to combine assessment results to attain final grade:
The final grades for students will be assigned on the basis of the weighted aggregate of the marks obtained for each of the summative assessment items in the course.
An open examination is one in which candidates may have access to any printed or written material and a calculator during the examination.
Examination period when Deferred/Supplementary examinations will be held:
Any Deferred or Supplementary examinations for this course will be held during the next examination period.
University Student Policies:
Students should read the USQ policies: Definitions, Assessment and Student Academic Misconduct to avoid actions which might contravene University policies and practices. These policies can be found at http://policy.usq.edu.au.
Matlab scripts must be submitted electronically by the due date and time in the manner prescribed in the Introductory Book or as modified on the Course Website. Late submissions will not normally be accepted.
Students who do not qualify for a Passing grade may at the discretion of the Examiner, be awarded a Supplementary Examination and/or assigned additional work to demonstrate to the Examiner that they have achieved the required standard. It is expected that such students will have gained at least 45% of the total marks available for all summative assessment items.
The referencing system to be used in this course is supported by the Department. Information on this referencing system and advice on how to use it can be found in the course materials.