­

LECTURE 1



Introduction

Teaching staff & practical times. Relevance to you & quiz 0. Course objectives. Syllabus in brief & the textbook. Your and my Initial impressions. Reading task & Homework #1

Download Slides

LECTURE 2



Parallel Computing Fundamentals

Review of Quiz 0. UML recap in 5 minutes. Parallel computing fundamentals. Automatic parallelism. Performance benchmarking. Trends

Download Slides

LECTURE 3



Temporal and Spatial Computing

Prac Issues, Seminar planning, Temporal & spatial computing, Benchmarking, Power

Download Slides

LECTURE 4 (Class activity for this lecture in the Assignments & Resources page)



Timing and Programming Models

Timing in C, Review of homework (scalar product), Important terms, Data parallel model, Message passing model, Shared memory model, Hybrid model

Download Slides | Class Activity

LECTURE 5 (Class activity for this lecture in the Assignments & Resources page)



Parallel Architecture

Prac2 discussion, Processor Architecture types, Von Neumann; Flynn's taxonomy, Class activity, Memory access architectures

Download Slides | Class Activity

LECTURE 6



Design of Parallel Programs (Part 1)

Seminar this afternoon, About Homework 2, Recap of memory architectures, Steps in designing parallel programs, Step 1: understanding the problem, Step 2: partitioning, Step 3: decomposition & granuality

Download Slides

LECTURE 7



Design of Parallel Programs (Part 2)

Aside: IBM Watson (a mega 'game console' case study), Step 3: decomposition and granularity, Class activity, Step 4: communications

Download Slides

LECTURE 8



Design of Parallel Programs (Part 3)

Step 4: communications (cont), Cloud computing, Step 5: Identify data dependencies

Download Slides

LECTURE 9



GPUs and CUDA

Seminar reminder, CUDA & Prac2, Parallel Programming cont., Identifying Data Dependencies, Synchronization

Download Slides

LECTURE 10


Design of Parallel Programs (Part 4)

Planning Step 7: Load balancing, Step 8: Performance analysis and tuning

Download Slides

LECTURE 11



Parallel Design Patterns

Parallel design patterns, Terms, Where to in Term 2

Download Slides | Class Activity | Class Activity Sample Solution

LECTURE 12



Programmable Logic

Review of short exercise re digital accelerator, VHDL recap

Download Slides

LECTURE 13



YODA Project and FPGAs

YODA Project, FPGA Families

Download Slides

LECTURE 14



Reconfigurable Computing Basics

Reconfigurable Computing Basics, Brainstorming exercise, Introduction to Verilog

Download Slides

LECTURE 15



Coding in Verilog

Basics of Verilog, Coding Exercise, Verilog simulators

Download Slides

LECTURE 16



RC Architecture Types & FPGA Interns

Reminders, RC Architecture overview & main types, Recap of FPGAs

Download Slides

LECTURE 17



RC Architectures Case Studies

Case study of RC computers

Download Slides

LECTURE 18



Amdahl's Law

Yoda phase 1 & 2, Amdahl's Law

Download Slides

LECTURE 19



Configuration Architectures

Configuration architectures, Short video on NIOS II RC Building blocks, Memories, DMA, Digital Signals, Signal Latching

Download Slides

LECTURE 20



C to HDL Automatic Conversion

Reminders, C HDL automatic conversion, Overview of conversion process, Limitations, Scenario Mapping C to VHDL behavioural, Some tools

Download Slides

LECTURE 21



Reflections

Key steps to consider Class activity: A comprehensive short assignment to discuss in groups

Download Slides

LECTURE 22



Review of the Course

Lecture content, covered Readings, seminars, chapters

Download Slides