University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Programming Parallel Architectures

LEVEL 03 - Years 2, 3, 4 in Modular Undergraduate Course


DEPARTMENT Communications and Computer Engineering

DESCRIPTION The study-unit introduces concepts of parallel computing by considering different architectures that support this, and working through different categories of examples. The implementation of such solutions and their subsequent analysis gives practical experience and an understanding of the difficulties involved.

Study-unit Content:

- Introduction to Parallel Architectures: Motivation; Flynn taxonomy; Example architectures; Problem classification; Programming models;
- Working with Threads: Programming model; POSIX threads API;
- Vector Processing: SIMD Extensions; Programming interface;
- GPU Computing: GPU architectures; CUDA API; Memory hierarchy; Thread hierarchy; Scalability; Synchronization; Debugging; Profiling;
- Optimizing Performance: Maximizing parallelization, instruction throughput, memory bandwidth usage;
- Floating Point Considerations: IEEE Floating Point format; Accuracy and rounding; Algorithm considerations;
- Large-Scale Parallel Systems: Introduction to Grids & Public Computing; Parallelism at multiple levels.

Study-unit Aims:

The study-unit aims to develop the student’s ability to think clearly about the relationship between a problem abstraction and architectural implementation details. We focus on the techniques for the development of solutions of scientific computing problems on parallel architectures. A number of case studies are considered to illustrate facets of the subject. This study-unit will enable you to gain experience in building parallel solutions for scientific and engineering computing problems. The study-unit will use C/C++ to access the parallel computing libraries of the architectures used.

Learning Outcomes:

By the end of the study-unit the student will be able to:
- Explain the major benefits and limitations of parallel computing;
- Identify and explain the differences between common current parallel architectures;
- Develop parallel solutions for scientific computing problems on different architectures;
- Analyse the performance of a parallel solution.

Main Text/s and any supplementary readings:

Online Texts:
- “nVidia CUDA C Programming Guide”, Version 6.07.5, Feb 2014Sep 2015. Available online at
- “CUDA C Best Practices Guide”, Version 6.07.5, Feb 2014Sep 2015. Available online at

Essential Texts:
- David B. Kirk and Wen-mei W. Hwu, “Programming Massively Parallel Processors: A Hands-on Approach”, Second Edition, Morgan Kaufmann, 2013. ISBN 978-0-12-415992-1.
- Rob Farber, “CUDA Application Design and Development”, Morgan Kaufmann, 2011. ISBN 0123884268.
- Shane Cook, “CUDA Programming: A developer's guide to parallel computing with GPUs”, Morgan Kaufmann, 2013. ISBN 978-0-12-415933-4.

Recommended Texts:
- Grama et al., “Introduction to Parallel Computing”, Second edition, Addison-Wesley, 2003.
- Mattson et al., “Patterns for Parallel Programming”, Addison-Wesley, 2005.

- Stroustrup, “The C++ Programming Language”, Special Edition, Addison-Wesley, 2000.
- Eckel, “Thinking in C++”, Vol. 1-2, Second edition, Prentice-Hall, 2000.

STUDY-UNIT TYPE Lecture and Tutorial

Assessment Component/s Resit Availability Weighting
Assignment Yes 40%
Assignment Yes 60%

LECTURER/S Johann A. Briffa

The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage