Page 128 - Computer_Science_F5
P. 128
(b) SIMT (Single Instruction Multiple register files, ALUs (both SIMD
Thread) and scalar), and data caches. Unlike
SIMT (Single Instruction, Multiple traditional multi-core CPUs, all SIMT
Threads) extends SIMD by allowing cores share a single instruction cache
a single instruction to be applied to and decoder, making the hardware
FOR ONLINE READING ONLY
different data elements with independent simpler and more efficient. Chapter Two: Performance and optimisation of computer processor
threads of control. SIMT combines
SIMD and multithreading. SIMT is crucial for General-Purpose
Imagine chefs preparing identical meals Computing on GPUs (GPGPU), that
for multiple guests (classic SIMD). enables GPUs to perform tasks beyond
Now, each chef leads a small team graphics, such as scientific computing and
(thread) in the kitchen. These sub-teams machine learning. Modern supercomputers
can work on independent tasks (data) often combine CPUs with GPUs to
while still following the same overall take advantage of SIMT for complex
recipe (instruction). This collaborative simulations and data analysis.
approach is the essence of SIMT.
Compared to SIMD, SIMT offers In summary, SIMT enhances SIMD’s
greater flexibility by allowing threads efficiency by allowing each thread to
to work on independent data, improving process its own data, making it a powerful
the utilization of processing resources, tool for parallel computing and achieving
especially for tasks with some data significant performance improvements.
dependencies.
(c) Data partitioning
Key characteristics of SIMT Data partitioning is a technique in Data-
(i) Single instruction broadcast: All Level Parallelism (DLP) that divides a
SIMT threads get the same instruction, large dataset into smaller chunks. These
like SIMD. However, each thread has chunks can be processed independently
its own Stack Pointer, allowing them by different units for parallel execution.
to work on different data sets even Data partitioning determines what data
while executing the same instruction. is processed in parallel by splitting it
(ii) Independent data processing: into independent units for concurrent
Each thread can process its own data processing.
from memory using its unique Stack
Pointer, providing more flexibility and Common strategies for data partitioning
better handling of data dependencies include:
compared to SIMD. (i) Domain decomposition: Divides
(iii) Hardware support: GPUs (Graphics data based on logical sections, like
Processing Units) use SIMT. GPUs splitting customer data by region for
have many cores with their own parallel processing of regional sales.
119
Student’s Book Form Five
Computer Science Form 5.indd 119 23/07/2024 12:33