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
   123   124   125   126   127   128   129   130   131   132   133