What is optimised for low-latency communications?
CPU
What is optimised for data parallel and high throughout computations
GPU
Which has the larger cache? CPU or GPU?
CPU
What has more transistors dedicated to computation? CPU or GPU?
GPU
What is better for real-time applications? CPU or GPU?
CPU
Discuss the CPU
Discuss the GPU
What are 4 pieces of parallel hardware?
Name 4 applications of parallel computing
Autonomous Cars, Augmented Reality, Video Games and Weather Forecasting
Why is parallel programming less intuitive than serial programming?
Non-trivial communication and synchronisation
Why does adding processors not always improve performance of serial programs?
The serial programs are unaware of the existence of multiple processors
What was single processing power performance driven by?
The increasing density of transistors
What are parallel programs?
Programs that exploit the power of multiple processors
What is a shared memory parallel system?
Where processors operate independently but share the same memory
What is a distributed memory system?
Where the processors operate independently but have their own local memory
What is pipelining?
Where function units are arranged in stages
What do we need to think about when writing parallel programs?
Communication among cores, load balancing and synchronisation of cores
Why can’t we translate serial programs into parallel programs?
Translations cannot deal with the fundamental shift in algorithmic structure required for effective parallelisation
What is a parallel pattern?
Valuable algorithmic structure commonly seen in efficient parallel programs
What is serialisation?
Act of putting some set of operations into a specific order
What is locality?
Memory accesses close together in time and span are cheaper than far apart ons
What is the difference between implicit and explicit parallelism?
The programmer has no access to implicit parallelism, but they do have access to explicit parallelism
Name a type of implicit parallelism
Pipelines and vector instructions in CPU
Name 3 types of explicit parallelism
Multi-core CPUS and multi-processors, dedicated parallel processing units, distributed systems