COMPX553-23A (HAM)

Extremely Parallel Programming

15 Points

Edit Header Content
Division of Health Engineering Computing & Science
School of Computing and Mathematical Sciences
Department of Computer Science

Staff

Edit Staff Content

Convenor(s)

Lecturer(s)

Administrator(s)

: maria.admiraal@waikato.ac.nz
: buddhika.subasinghe@waikato.ac.nz

Placement/WIL Coordinator(s)

Tutor(s)

Student Representative(s)

Lab Technician(s)

Librarian(s)

: alistair.lamb@waikato.ac.nz

You can contact staff by:

  • Calling +64 7 838 4466 select option 1, then enter the extension.
  • Extensions starting with 4, 5, 9 or 3 can also be direct dialled:
    • For extensions starting with 4: dial +64 7 838 extension.
    • For extensions starting with 5: dial +64 7 858 extension.
    • For extensions starting with 9: dial +64 7 837 extension.
    • For extensions starting with 3: dial +64 7 2620 + the last 3 digits of the extension e.g. 3123 = +64 7 262 0123.
Edit Staff Content

What this paper is about

Edit What this paper is about Content
This paper covers advanced parallel programming for large-scale parallelism. A variety of programming techniques will be covered, with application to cluster computers, GPU computing and many-core computing. The learning outcomes for this paper are linked to Washington Accord graduate attributes WA1-WA11. Explanation of the graduate attributes can be found at: https://www.ieagreements.org/
Edit What this paper is about Content

How this paper will be taught

Edit How this paper will be taught Content
There are one two-hour lecture and a weekly two hours lab in Lab1 or Lab 6 (R-Block). All online resources, and support are available via Moodle.

Edit How this paper will be taught Content

Required Readings

Edit Required Readings Content

The required and recommended reading for the paper will be specified on the Moodle website.There is no required textbook for this paper.

Edit Required Readings Content

Learning Outcomes

Edit Learning Outcomes Content

Students who successfully complete the course should be able to:

  • Explain the basic concepts, benefits, and challenges of parallel programming (WA1, WA2, WA3, WA4, WA5)
    Linked to the following assessments:
    GPGPU Programming Quiz (3)
    Java Executors Quiz (6)
    Parallel Programming Project (11)
  • develop parallel programs using a variety of techniques, such as Hadoop MapReduce, Apache Spark, the OpenCL language for GPU programming, and Java thread pools and streams (WA1, WA2, WA3, WA4,WA5)
    Linked to the following assessments:
    • GPGPU Programming Quiz (3)
    • Java Executors Quiz (6)
    • Apache Spark Project (11)
    Linked to the following assessments:
    Java Sequential Performance Assignment (1)
    GPGPU Programming Assignment 1 (2)
    GPGPU Programming Assignment 2 (4)
    Java Streams Assignment (5)
    Java CompletableFuture Assignment (7)
    Hadoop MapReduce Assignment (8)
    Apache Spark Assignment 1 (9)
    Apache Spark Assignment 2 (10)
    Parallel Programming Project (11)
Edit Learning Outcomes Content
Edit Learning Outcomes Content

Assessments

Edit Assessments Content

How you will be assessed

Edit How you will be assessed Content
If you are enrolled in a BE(Hons), samples of your work may be required as part of the Engineering New Zealand accreditation process for BE(Hons) degrees. Any samples taken will have the student name and ID redacted. If you do not want samples of your work collected then please email the engineering administrator, Natalie Shaw (natalie.shaw@waikato.ac.nz), to opt out.
Edit How you will be assessed Content

The internal assessment/exam ratio (as stated in the University Calendar) is 100:0. There is no final exam. The final exam makes up 0% of the overall mark.

The internal assessment/exam ratio (as stated in the University Calendar) is 100:0 or 0:0, whichever is more favourable for the student. The final exam makes up either 0% or 0% of the overall mark.

Component DescriptionDue Date TimePercentage of overall markSubmission MethodCompulsory
1. Java Sequential Performance Assignment
10 Mar 2023
11:30 PM
10
  • Other: Submit through GitLab
2. GPGPU Programming Assignment 1
17 Mar 2023
11:30 PM
5
  • Other: Submit through GitLab
3. GPGPU Programming Quiz
24 Mar 2023
11:30 PM
5
  • Online: Submit through Moodle
4. GPGPU Programming Assignment 2
31 Mar 2023
11:30 PM
20
  • Other: Submit through GitLab
5. Java Streams Assignment
7 Apr 2023
11:30 PM
5
  • Other: Submit through GitLab
6. Java Executors Quiz
14 Apr 2023
11:30 PM
3
  • Online: Submit through Moodle
7. Java CompletableFuture Assignment
14 Apr 2023
11:30 PM
7
  • Other: Submit through GitLab
8. Hadoop MapReduce Assignment
12 May 2023
11:30 PM
15
  • Other: Submit through GitLab
9. Apache Spark Assignment 1
19 May 2023
11:30 PM
10
  • Other: Submit through GitLab
10. Apache Spark Assignment 2
26 May 2023
11:30 PM
10
  • Other: Submit through GitLab
11. Parallel Programming Project
9 Jun 2023
11:30 PM
10
  • Other: Submit through GitLab
Assessment Total:     100    
Failing to complete a compulsory assessment component of a paper will result in an IC grade
Edit Assessments Content