Operating Systems and Machine Principles

COMP2129

This unit provides an introduction to parallel programming of modern multi-core architectures using C. It introduces the fundamentals of parallel programming, along with an introduction to C and UNIX. The unit also introduces a CUDA, which is an extension of C for massively data-parallel architectures such as GPGPUs.In this unit of study elementary methods for developing robust, efficient and re-usable parallel software will be covered. The unit is taught in C, in a Unix environment. Specific coding topics include memory management, the pragmatic aspects of implementing data structures such as lists and managing concurrent threads. In the lab, debugging tools and techniques are discusse. Emphasis is placed on using common Unix tools to manage aspects of the software construction process, such as make. The subject is taught from a practical and theoretical viewpoint and it includes a considerable amount of programming practice, using existing tools.

Unit of study details

Unit of study level: Intermediate

Credit points: 6

Commencing semesters: 1

Further unit of study information

Unit of study handbook: COMP2129

Costs and scholarships information: Costs and Scholarships

Final dates to withdraw from units of study: Census Dates

Available for study abroad and exchange: No

Our courses that offer this unit of study