Courses & Units

Multicore Architecture and Programming KIT308

Introduction

This unit exposes students to historical approaches to increased processor efficiency, such as pipelining and superscalar design, before concentrating on a key concept of modern computer architectures: multicores. Both CPU and GPU architectures will be explored in this context and likely future hardware trends will be discussed. Students will learn the concepts and techniques for writing CPU multithreaded programs via the use of threading and synchronisation primitives as well as techniques for general-purpose GPU programming (GPGPU). A major focus of this unit is real world optimisation. Students will be exposed to data-oriented design approaches, revisit the concepts of Big-O efficiency and OO, and will get practical experience at profiling code. Additionally, students will learn lower-level programming techniques such as single-instruction multiple-data (SIMD) instructions, branch removal, and loop unrolling.

Summary

Unit name Multicore Architecture and Programming
Unit code KIT308
Credit points 12.5
College/School College of Sciences and Engineering
School of Information and Communication Technology
Discipline Information & Communication Technology
Coordinator Doctor Ian Lewis
Available as an elective? Yes
Delivered By University of Tasmania
Level Advanced

Availability

This unit is currently unavailable.

Note

Please check that your computer meets the minimum System Requirements if you are attending via Distance/Off-Campus.

Units are offered in attending mode unless otherwise indicated (that is attendance is required at the campus identified). A unit identified as offered by distance, that is there is no requirement for attendance, is identified with a nominal enrolment campus. A unit offered to both attending students and by distance from the same campus is identified as having both modes of study.

* The Final WW Date is the final date from which you can withdraw from the unit without academic penalty, however you will still incur a financial liability (refer to How do I withdraw from a unit? for more information).

Unit census dates currently displaying for 2024 are indicative and subject to change. Finalised census dates for 2024 will be available from the 1st October 2023. Note census date cutoff is 11.59pm AEST (AEDT during October to March).

About Census Dates

Learning Outcomes

  • Explain the concepts of high-performance computer architecture and the impact of concepts on expected performance
  • Analyse a problem to define the requirements to target high-performance computer architecture
  • Develop and evaluate techniques for the creation of efficient multicore CPU and GPU programs by applying high performance programming principles and technical skills
  • Evaluate the performance and identify strengths and weaknesses of potential solutions targeting high-performance architecture

Fee Information

The 2024 Commonwealth Supported Place (CSP) rates are still being finalised by the Government and we will update the domestic fee information as soon as we have more details.

Requisites

Prerequisites

KIT205 OR KIT206 OR KIT207 OR KIT208

Teaching

Teaching Pattern

Lectures: 2 hours / week (4 hours in week 1)
Self-Study: ~2–4 hours / week
Tutorials: 2 hours / week
Workshops: 2 hours / week

AssessmentCPU Optimisation Programming Assignment (15%)|GPU Programming Assignment (15%)|In-Tutorial Assessment (15%)|Multicore CPU Programming Assignment (15%)|Examination (40%)
TimetableView the lecture timetable | View the full unit timetable

Textbooks

Required

N/A

Recommended

N/A

LinksBooktopia textbook finder

The University reserves the right to amend or remove courses and unit availabilities, as appropriate.