2 - Hardware & Architectures Flashcards
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
- Optimised for law latency computations
- Large caches
- Fewer ALUs
- Good for real-time applications
Discuss the GPU
- Optimised for data-parallel and high throughput computations
- Smaller caches
- More transistors dedicated to computation
- Good if enough work to hide latency
What are 4 pieces of parallel hardware?
- Pipelines, vector instructions in CPU
- Multi-core CPUs and multi-processors
- Dedicated parallel processing units
- Distributed systems
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