
Data-Level Parallelism (DLP) refers to the ability of a processor to perform the same operation on multiple data elements simultaneously .
Data-Level Parallelism (DLP) refers to the ability of a processor to perform the same operation on multiple data elements simultaneously.
DLP is widely used in vector processing, SIMD (Single Instruction Multiple Data), and GPU architectures, where the same instruction operates on many data points at once.
GPU (Graphics Processing Unit) is specialized for massive data-level parallelism:
| Feature | CPU | GPU |
|---|---|---|
| Number of cores | Few (2–64 typically) | Thousands |
| Execution model | Few threads, complex logic | Many threads, simple logic |
| Latency vs throughput | Low latency | High throughput |
| DLP support | Limited (SIMD units) | Extensive (SIMT execution) |
GPU programming relies on writing kernels that operate on many data elements in parallel.
// CUDA kernel
__global__ void vectorAdd(float *A, float *B, float *C, int N) {
int i = threadIdx.x + blockIdx.x * blockDim.x;
if (i < N)
C[i] = A[i] + B[i];
}
C[i].+) is executed on multiple data elements simultaneously.High throughput: Thousands of operations executed in parallel.
Efficient for repetitive operations on large datasets.
Reduces execution time for data-parallel tasks like:
| Concept | Relation to DLP / GPU |
|---|---|
| SIMD / Vector Processing | DLP exploits SIMD units in CPU/GPU |
| Multithreading / TLP | TLP is about independent threads; DLP is about same instruction on multiple data |
| Speculative Execution | Less relevant in DLP; GPU cores rely more on throughput than low-latency execution |
| Cache / Memory Hierarchy | Efficient memory access is critical for high DLP performance |
Open this section to view and download past papers
Click on Show Past Papers to load available exam papers.