NCA GPU Architecture & Fundamentals — Questions and Answers
Question 1: What is the primary function of a GPU?
- To manage network connections.
- To process and render graphics efficiently (Correct answer)
- To store data persistently.
- To handle input devices.
Correct answer: To process and render graphics efficiently
The primary function of a GPU (Graphics Processing Unit) is to accelerate the creation and rendering of images, videos, and animations. It achieves this by performing a large number of simple calculations simultaneously, making it highly efficient for parallel processing tasks inherent in graphics rendering. This specialized architecture allows GPUs to handle the complex computations required for modern visual applications much faster than a CPU.
Question 2: Which architecture component is responsible for executing thousands of threads simultaneously?
- Cache memory.
- Streaming Multiprocessor (SM) (Correct answer)
- Control unit.
- Arithmetic Logic Unit (ALU).
Correct answer: Streaming Multiprocessor (SM)
In NVIDIA GPU architecture, the Streaming Multiprocessor (SM) is the core component responsible for executing thousands of threads simultaneously. Each SM contains multiple CUDA cores, shared memory, and special function units, allowing it to manage and execute many warps (groups of 32 threads) in parallel. This design enables the massive parallelism that GPUs are known for, efficiently handling compute-intensive tasks.
Question 3: What is CUDA in NVIDIA GPUs?
- A type of GPU hardware.
- A parallel computing platform and programming model (Correct answer)
- A GPU cooling system.
- A networking protocol.
Correct answer: A parallel computing platform and programming model
CUDA (Compute Unified Device Architecture) is NVIDIA's proprietary parallel computing platform and programming model. It allows software developers to use a CUDA-enabled GPU for general-purpose processing, not just graphics rendering. By providing extensions to standard programming languages like C/C++, CUDA enables developers to harness the GPU's massive parallel processing power for a wide range of computationally intensive applications.
Question 4: What does GDDR stand for in GPU memory?
- General Double Data Rate.
- Graphics Double Data Rate (Correct answer)
- General Direct Data Register.
- Graphics Direct Data Rate.
Correct answer: Graphics Double Data Rate
GDDR stands for Graphics Double Data Rate. It is a type of synchronous dynamic random-access memory (SDRAM) specifically designed for graphics cards (GPUs). GDDR memory is optimized for high bandwidth and throughput, which is crucial for the rapid data transfer required by GPUs to process and render complex graphics and large datasets efficiently.
Question 5: Which term describes the process of breaking a GPU task into smaller pieces executed in parallel?
- Sequential execution.
- Parallelism (Correct answer)
- Caching.
- Branching.
Correct answer: Parallelism
Parallelism is the process of breaking down a large computational task into smaller, independent sub-tasks that can be executed simultaneously. GPUs are designed with thousands of processing cores to excel at this, allowing them to process many parts of a problem at once. This approach significantly speeds up computations compared to sequential execution, where tasks are processed one after another.
Question 6: What is the role of a warp scheduler in GPU architecture?
- Manages memory bandwidth.
- Schedules and manages warp execution (Correct answer)
- Controls cooling systems.
- Processes graphics outputs.
Correct answer: Schedules and manages warp execution
A warp scheduler in GPU architecture is responsible for selecting warps (groups of 32 threads) that are ready to execute and dispatching them to the available execution units within a Streaming Multiprocessor (SM). It manages the execution flow, handles context switching between warps, and ensures efficient utilization of the GPU's computational resources. This scheduling mechanism is crucial for maintaining high throughput and performance in parallel execution.
Question 7: Which type of memory is fastest on a GPU?
- Global memory.
- Texture memory.
- Registers (Correct answer)
- Shared memory.
Correct answer: Registers
Registers are the fastest type of memory on a GPU, located directly within each CUDA core. They provide extremely low-latency access for individual threads to store and retrieve data during computation. While registers offer the highest speed, their capacity is very limited, making them suitable for frequently accessed variables within a thread's scope.
Question 8: What is thread divergence in GPU programming?
- Threads running in perfect sync.
- Threads taking different code paths (Correct answer)
- Threads sharing the same registers.
- Threads communicating.
Correct answer: Threads taking different code paths
Thread divergence in GPU programming occurs when threads within the same warp (a group of 32 threads executed together) take different execution paths due to conditional statements (e.g., if-else branches). When divergence happens, the hardware must serialize the execution of these different paths, effectively reducing the parallel efficiency of the warp. Minimizing thread divergence is crucial for optimal GPU performance.
Question 9: How do GPUs achieve higher throughput than CPUs?
- By running a single thread faster.
- By using thousands of parallel cores (Correct answer)
- By having larger caches.
- By using slower clock speeds.
Correct answer: By using thousands of parallel cores
GPUs achieve higher throughput than CPUs primarily by employing a highly parallel architecture with thousands of smaller, specialized processing cores. While CPUs focus on executing a few complex tasks very quickly, GPUs are designed to execute a massive number of simpler tasks concurrently. This "many-core" approach allows GPUs to process large datasets and perform repetitive computations much faster, especially for tasks like graphics rendering and scientific simulations.
What is the primary function of a GPU?