Skip Navigation | ANU Home | Search ANU | Search FEIT | Feedback
The Australian National University
Faculty of Engineering and Information Technology (FEIT)
Department of Computer Science
Printer Friendly Version of this Document
High Performance Scientific Computing COMP3320

Lecture Notes

Lecture Notes
1: Tue Feb 26 Unit Introduction (ppt version)
  • APAC
  • National Computational Infrastructure/APAC National Facility/
  • Australia's Academic and Research Network
  • Bunyip
  • 2-3: Wed Feb 27 Computational Challenges in Scientific Computing (ppt version (very large))
  • Computational Science at ANU
  • National Computational Science Education Consortium
  • NASA Ames wind tunnels
  • The Earth Simulator
    Project related links
  • Visual Python
  • Real time cloth simulation
  • Advanced character physics
  • Approximate models of the real world
  • Large steps in cloth simulation
  • 4: Tue Mar 4 Performance Measuring and Benchmarking (1up version)
  • The Top500
  • SPEC Organisation
  • SPEC2006 Articles
  • TPC Benchmark
  • STREAM Benchmark
  • 5-6: Wed Mar 5 Computing with Real Numbers (1up version)
  • What every ANU Computer Science graduate should know about computer arithmetic!
  • Demo Code
  • IEEE Reference
  • IEEE 754 Floating Point Numbers
  • Disasters caused by arithmetic errors
  • ASCI should use intervals
  • Interval Computations
  • 7: Tue Mar 11 Finish Floating Point
    8-9: Wed Mar 12 High Performance Microprocessors (1up version)
    Project related links
    Moving atoms/Errors/Performance(1up ppt version)
    Things you should know by now #1!!
    10: Tue Mar 18 More on High Performance Microprocessors
    Multiple Registers (1up version)
  • From UltraSPARC manual"
  • This is quite a detailed tutorial on pipelining. It is directed more towards a course in advanced computer architecture than our course in high performance scientific computing, so I would not expect you to know everything given here.
  • Branch Prediction - taken from reference book "Computer Architecture, A Quantitative Approach" by Hennessy and Patterson.
  • 11-12: Wed Mar 19 Memory Systems (1up version)
  • Dowd on cache - taken from reference book "High Performance Computing" by Kevin Dowd and Charles Severance
  • Hennessy on cache - taken from reference book "Computer Architecture, A Quantitative Approach" by Hennessy and Patterson.
    Project related: Interfacing Python and C
  • Richard Muller on Python/C Interfacing(His complete course web page)
  • Python/C example code
  • 13: Tue Mar 25 Memory Systems (cont)
    Hardware Performance Counters (1up version)
  • Performance Analysis and Moinitoring
  • Using UltraSPARC-IIICu Performance Counters to Improve Application Performance
  • Performance Evaluation Using Hardware Performance Counters
  • PAPI
  • PCL
  • 14-15: Wed Mar 26 Complete performance counters and memory systems
    Project related
    Towards linear scaling MD (1up ppt version)
  • Example for periodic code
  • NAMD Performance
  • 16: Tue Apr 1 Optimizing Compilers (1up version)
  • Compiler Operation and Code Generation, from Ch 5 of Write Great Code Vol 2.
  • Selecting best Sun compiler options
  • Sun Compiler Components (scroll down)
  • 17-18: Wed Apr 2 This is the last lecture before the mid-semester exam. We will have a general discussion about the items I have listed under the two "things you should know" links. Please look over these lists and also bring any other questions you might (relating to any part of the course).
    Loop Optimization (1up version)
  • Figures from Chapter 8 of Dowd
  • Cache Oblivious Matrix Transposition: A paper based on work of honours student Dimitrios Tsifakis that was presented at 2004 International Conference Computational Science.
  • Things you should know by now #2!!
    Tue Apr 8 MID SEMESTER EXAM Melville Hall, start 3pm exactly, end 3.50pm. Arrive 5 min early.
    19-20: Wed Apr 9 Operation Balance and Memory Access(1up version)
    Project related
    Periodic Boundary Conditions Example code
    Theoretical Peak Floating Point by Processor
    The UltraSPARC Family (1up version)
  • UltraSPARC II: The Advancement of UltraComputing
  • UltraSPARC III
  • Overview of UltraSPARC III (Cu)
  • UltraSPARC IV(Sun)
  • Scalable Processor ARChitecture (SPARC)
    Post RISC and the Intel Family (1up version)
  • Intel Pentium 4 processor site
  • Microarchitecture of the Pentium 4 Processor
  • Intel Itanium site
  • Introducing the IA-64 Architecture
  • The Itanium Microarchitecture
  • Intel 64 bit Architecture
  • Inside Intel Core Microarchitecture
  • Intel Core Architecture
  • Intel Core Smart Memory Access
  • Intel's Next Generation Architecture Unvelled
  • Intel Core 2 Extreme QX9650 CPU Review
  • AMD Processor Architecture
  • AMD Barcelona Processor
  • AMD Opteron
  • Mid Semester Break (Monday April 14 - Friday April 25 inclusive)
    21: Tue Apr 29 Shared Memory Computers (1up version)
  • Mid-semester examine return
  • 22-23: Wed Apr 30 SMP Parallel Programming (1up version)
  • We will discuss the start of Assignment 2. It will involve simulation of a cloth, which falls on a ball. The overall objective will be to generate an OpenMP parallel version of such a code. Your first objective, however, will be to create the C/C++ code to perform the basic simulation, given a Python code.
  • 24: Tue May 6 SMP Parallel Programming (cont)
    OpenMP (1up version)
  • The OpenMP web site
  • 25-26: Wed May 7 Will finish any shared memory stuff, then talk about the assignment - which will involve a move from python to OpenGL using another machine called fremont (account for which you will only get by seeing me in labs - or in person with good excuse why you were not in labs).
    27: Tue May 13 Distributed Memory and Clusters (1up version)
    27-28: Wed May 14 Message Passing (1up version)
  • Beowulf Clusters
  • Bunyip
  • MPI
  • Tue May 19 Optional: Overview of APAC machines (slides from Jay Larson in 2007), some interesting HPC Systems in DCS, assignment questions, etc!
    Wed May 20 Optional APAC Tour: Tour APAC National Facilty, meet 16:15 in the foyer of the Leonard Huxley building (foyer is on level 3, entrance of which is shown on previous link, it will take you about 15mins to walk there from Computer Science Building).
    Tue May 27 No Lecture
    Wed May 28 No Lecture
    29: Tue Jun 3 Grid and Languages for HPC (1up version)
    GRID
  • Anatomy of the Grid (Ian Foster et al)
  • Fundmentals of Grid Computing (IBM Redbook)
  • Globus Toolkit
  • Unicore Toolkit
  • Sun Utility Computing Grid (buy time at $1/hour).
  • Gridbus
    Fortran/C/Java
  • Fortran Pioneers (New York Times)
  • Brief History of Fortran
  • Fortran2003
  • User notes on Fortran programming. History of Fortran and comparison with C.
  • Fortran90 and computational science
  • Comparison of C++ and Fortran 90 for Object-Oriented Scientific
  • Petition to retire fortran!
  • Java and Numerical Computing
  • Java at Middle Age: Enabling Java for Computational Science
  • Benchmarking Java agains C and Fortran for Scientific Applications
    Some Future Prospects
  • DARPA High Productivity Computing Systems Initiative
  • Unified Parallel C
  • Titanium
  • Co-Array Fortran
  • Chapel
  • Fortress
    The X10 Option
  • X10
  • Concurrent Programming for Modern Architectures
  • X10 Milestone Review
  • HPC Challenge Submission for X10
  • 30-31: Wed Jun 4 Exam Review, Course Summary, CEDAM survey

    • Putty (to provide terminal from a Windows PC in the lecture theatre)