Custom Computing

Module aims

In this module you will have the opportunity to explore applications of custom computing designs in applications such as signal processing and genomics data analysis, and develop parametric descriptions for custom computing designs. You will also analyse performance and resource usage of custom computing designs, optimise them to meet design requirements, and compare their realisations based on simulation and transformation.

Learning outcomes

Upon successful completion of this module you will be able to:
- develop parametric descriptions of custom computing designs
- develop alternatives for custom computing designs that meet specified requirements
- analyse the performance of a custom computing design in terms of time space
- evaluate space/time trade-offs between competing custom computing designs in order to determine optimal solutions
- use simulation and transformation to compare the behaviour of custom computing designs            

Module syllabus

Custom computing concerns special-purpose computer systems customised for specific applications such as signal processing and genomics data analysis, when general-purpose computers are too slow, too bulky or consume too much power. Through this module, you will learn effective techniques of describing and evaluating custom computing designs, how such designs can be optimised by correctness-preserving transformations to improve throughput or energy efficiency, and how design tools can be used to simulate the behaviour of such designs.

Teaching methods

The module will be taught through lectures, backed up by unassessed, formative exercises, that you will solve in-class. Graduate Teaching Assistants (GTAs) will be on hand to provide advice and feedback.  There will be one assessed coursework which is designed to reinforce your understanding of the theoretical aspects of the material as well as give you hands-on experience of designing custom hardware using industry-standard tools.The tutorial questions will include past exam questions, in preparation for the final exam. Direct communication channels are provided through MS Teams and a discussion forum. Lecturers and GTAs discuss lecture content and answer questions on these platforms.

Assessments

There will be one coursework that you will complete as an individual, which should take around ten hours. It has three components: an essay-style component assessing general understanding, numerical components assessing relevant analytical skills, and a computer-based practical component assessing skills in using relevant development tools. The coursework counts for 20% of the marks for the module. There will be a final written exam (usually two hours in duration), worth 80% of the marks, which will test both theoretical and practical aspects of the subject.
                
There will be detailed feedback on the coursework exercises which will include written feedback on your submission, and class-wide feedback explaining common pitfalls and suggestions for improvement. Comments on how students performed in past examinations would also be provided.

Module leaders

Dr Timothy Todman
Professor Wayne Luk