Note: This unit will only have online classes in 2022. All lectures and tutorials will be available online only.
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.
|Unit name||Multicore Architecture and Programming|
|College/School||College of Sciences and Engineering
School of Information and Communication Technology
|Discipline||Information & Communication Technology|
|Coordinator||Doctor Ian Lewis|
|Available as student elective?||Yes|
|Delivered By||University of Tasmania|
|Location||Study period||Attendance options||Available to|
- International students
- Domestic students
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.
|Study Period||Start date||Census date||WW date||End date|
* 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 2022 are indicative and subject to change. Finalised census dates for 2022 will be available from the 1st October 2021. Note census date cutoff is 11.59pm AEST (AEDT during October to March).
- 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
|Field of Education||Commencing Student Contribution 1||Grandfathered Student Contribution 1||Approved Pathway Course Student Contribution 2||Domestic Full Fee|
1 Please refer to more information on student contribution amounts.
2 Please refer to more information on eligibility and Approved Pathway courses.
3 Please refer to more information on eligibility for HECS-HELP.
4 Please refer to more information on eligibility for FEE-HELP.
Please note: international students should refer to What is an indicative Fee? to get an indicative course cost.
PrerequisitesKIT205 OR KIT206 OR KIT207 OR KIT208
Lectures: 2 - 4 hours / week
|Assessment||Examination (40%)|Multicore CPU Programming Assignment (15%)|CPU Optimisation Programming Assignment (15%)|GPU Programming Assignment (15%)|In-Tutorial Assessment (15%)|
|Timetable||View the lecture timetable | View the full unit timetable|
|Links||Booktopia textbook finder|
The University reserves the right to amend or remove courses and unit availabilities, as appropriate.