CECS Home | ANU Home | Search ANU
The Australian National University
ANU College of Engineering and Computer Science (CECS)
Department of Computer Science
Printer Friendly Version of this Document
High Performance Scientific Computing COMP4300
COMP4300 Assignment 1

COMP4300 Assignment 1 Marking

There were 45 submissions to be marked. Assuming 20mins per assignment that means 15 hours. First lesson - make sure your submission is easy to mark!

  • Gather initial impressions
    • cd to directory
    • untar submission
    • inspect to see if you submitted lots of irrelevant stuff
    • type make and look for use of optimisation flags (or lack in most cases)
    • inspect readme file (does it provide useful information, what each file contains, how to build and run code)
  • Simple Testing
    BASIC
     mpirun -np 2 ./flow -x 50     -y 50     -r 125     -b 125     -d 2
     mpirun -np 3 ./flow -x 150    -y 150    -r 4500    -b 4500    -d 2
    SPECIAL
     mpirun -np 4 ./flow -x 999999 -y 3      -r 400000  -b 400000  -d 1
     mpirun -np 5 ./flow -x 5      -y 999999 -r 653     -b 457     -d 8
    
    I'm looking to determine if program ran without any strange messages and whether the results are numerically correct. Gauge what performance looks like. Results at 10 iterations and good timings are as follows
    10      2.54400      1.53103     8      0.00378
    10      9.92511      2.83752    21      0.03125
    10      2.24614      1.43516     8      0.84766
    10      0.02523      0.15681     1      0.02001
    
  • Large Testing
    SCALING
      mpirun -np 1 ./flow -x 1000   -y 1000   -r 400000  -b 400000  -d 5
      mpirun -np 2 ./flow -x 1000   -y 1000   -r 400000  -b 400000  -d 5
      mpirun -np 4 ./flow -x 1000   -y 1000   -r 400000  -b 400000  -d 5
    result at step 3
      stp     3     96.00335      4.48950   114 
    LARGE
      mpirun -np 6 ./flow -x 15658  -y 2876   -r 357869  -b 456781  -d 2
    result at step 10
      stp    10      0.44233      0.66184     6 
    
    Good timing for scalability test is less than 2 seconds on 4 processors. For large test less than 10seconds at 10 interations.
  • Writeup inspection: read the writeup, does it give a sense of what was done, does it provide some performance data, does it talk about maximum size. Does it contain lots of irrelevant information. Is the performance data just cut and paste of output - not summary tables. Too long and verbose is bad.
  • Look at code. From what was written in the writeup can I understand what you did in the code. What range of MPI functions did you use. How long is the code.
  • Assign marks
    • Simple to compile and run, useful readme, not too much other rubbish in your tar file: 3 Marks
    • What you did, in terms of code and algorithm attempted: 7 Marks
    • Performance from tests: 5 Marks
    • Writeup how useful/accurate: 5 Marks
    Only whole marks were used. Assignment between four categories not perfect. In few cases individual categories were not used (not meaningful given what was done).

What you were required to submit

You should submit a tar file called "assign1.tar", which should untar to contain the following
  • A README file detailing the content of the tar file.
  • The source code for your program, complete with comments.
  • A makefile that will build the code by typing "make" on Saratoga and produce a binary called "flow" that also runs on the Saratoga cluster.
  • A plain text file containing a write up of what you did, analysis of the performance you observe, and details of what you believe to be the largest calculation you can run. Name this file "writeup.txt".

Stated Marking Scheme

Below is a rough indication of how marks will be allocated:
  • Content of readme file, that the code compiles, builds and runs without obvious errors (2-4 marks)
  • What the code does as problem characteristics and number of processes used is changed. Your mark here will be derived from running the code and checking the results are correct, looking at the source, and reading the content of the writeup. (5-7 marks).
  • Observed Performance obtained and maximum system size possible. (5-7 marks)
  • Content of writeup and analysis. (4-6 marks)