Computer Architecture/C.A (ETH Zürich, Spring 2020)

Lecture 20: Graphics Processing Units

Tony Lim 2021. 7. 23. 12:20

Promgramming Model  = how the programmer expresses the code

e.g) Sequential (von Neumann) , Data Parallel (SIMD) , Dataflow, Multi-threaded (MIMD, SPMD)

 

Execution Model = how the hardware executes the code underneath

e.g) Out of order execution , Vector processor , Array processor , dataflow processor, Multithreaded processor

 

GPU = SPMD(Single program Multiple data) model implemented by a SIMD processor , SIMT(Single Instruction Mutiple Thread)

it is programmed using threads

  • each thread executes the same code but operates a different piece of data
  • each thread has its own context

Warp = a set of threads that execute the same instruction 

 

SIMD = a single sequential instruction stream of SIMD instructions , each instruction specifies mutiple data inputs

SIMT = Mutiple insturction streams of scalar instructions -> threads grouped dynamically into warps

Major SIMT advantages

  • can treat each thraed separately = can execute each thread independently (MIMD processing)
  • can group thread into warps flexibly = can group threads that are supposed to truly execute the same insturction (dynamically obtain and maximize benefits of SIMD processing).

 

 

(PC,Mask) can be thought of warp.  

warp is a thing that contains mutiple threads operates on different piece of data.

 

 

since this warp is consist of 32 threads and we have only 8 lanes(computer's threads) 1 warp will take 4 cycles. and each warp can we scheduled as pipeline.

 

 

 

 

 

 

Computer Architecture - Lecture 9: GPUs and GPGPU Programming (ETH Zürich, Fall 2017) - YouTube