Wk3L2 - Multiple Cores Flashcards
What is a CPU (Central Processing Unit)?
A CPU is the electronic circuitry that executes instructions in a computer program. Modern CPUs typically contain multiple processors or cores for increased performance.
What are Logical Cores?
Logical cores are virtual cores created through hyper-threading, allowing one physical core to run multiple threads simultaneously. They increase CPU efficiency without changing the physical hardware.
What are the four components of the von Neumann Architecture?
- Memory: Stores program instructions and data.
- Control Unit: Fetches instructions and controls execution order.
- ALU (Arithmetic Logic Unit): Performs basic operations.
- I/O Interface: Manages input and output devices.
What is Shared Memory Architecture?
In shared memory architecture, all processors access a common memory space. This design simplifies programming but can be complex to build due to issues like cache coherence.
What is the difference between Uniform Memory Access (UMA) and Non-Uniform Memory Access (NUMA)?
UMA: All processors have equal access times to memory.
NUMA: Memory access times differ depending on the processor’s physical location, leading to slower access across processors.
What is Message Passing Architecture?
Message passing involves connecting computers through networks to increase parallelism. While it’s scalable, it’s much slower than shared memory due to network latency.
How do GPUs differ from CPUs in parallel processing?
CPUs handle hundreds of complex tasks in parallel.
GPUs are optimized for handling thousands of simple tasks in parallel using Single Instruction Multiple Data (SIMD) architecture, commonly used for tasks like graphics rendering.
What are the different types of NVIDIA GPU Cores?
Cuda Cores: General-purpose cores.
Tensor Cores: Optimized for matrix operations, AI, and physics calculations.
RT Cores: Used for real-time ray tracing, specialized for rendering realistic shadows and reflections.
What is the main trade-off between Shared Memory and Message Passing architectures?
Shared Memory: Faster communication but harder to scale beyond hundreds of processors.
Message Passing: Easier to scale but much slower due to network communication overhead.