Streaming Multiprocessors

Abbreviations

  • Core: CUDA Core

  • DP-U: Double Precision, FP64

  • SFU: Special Function Unit

Nvidia Pascal GP100 SM Unit

Pascal GP100 SM Unit
 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │ Pascal GP100 SM (Streaming Multiprocessor) Unit                                                           │
 │┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
 ││                                            Instruction Cache                                            ││
 │└─────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
 │╔═══════════════════════════════════════════════════╗ ╔═══════════════════════════════════════════════════╗│
 │║ SM Processing Block                               ║ ║ SM Processing Block                               ║│
 │║┌─────────────────────────────────────────────────┐║ ║┌─────────────────────────────────────────────────┐║│
 │║│               Instruction Buffer                │║ ║│               Instruction Buffer                │║│
 │║└─────────────────────────────────────────────────┘║ ║└─────────────────────────────────────────────────┘║│
 │║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║ ║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║│
 │║┃                 Warp Scheduler                  ┃║ ║┃                 Warp Scheduler                  ┃║│
 │║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║ ║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║│
 │║┌───────────────────────┐ ┌───────────────────────┐║ ║┌───────────────────────┐ ┌───────────────────────┐║│
 │║│     Dispatch Unit     │ │     Dispatch Unit     │║ ║│    Warp Scheduler     │ │     Dispatch Unit     │║│
 │║└───────────┬───────────┘ └───────────┬───────────┘║ ║└───────────┬───────────┘ └───────────┬───────────┘║│
 │║┏━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━┓║ ║┏━━━━━━━━━━━▼━━━━━━━━━━━━━━━━━━━━━━━━━▼━━━━━━━━━━━┓║│
 │║┃         Register File (32768 x 32-bit)          ┃║ ║┃          Register File (32768 x 32-bit)         ┃║│
 │║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║ ║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║ ║╭────╮╭────╮┏━━━━┓ ╭────╮╭────╮┏━━━━┓ ╔═════╗ ╭───╮║│
 │║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║ ║│Core││Core│┃DP-U┃ │Core││Core│┃DP-U┃ ║LD/ST║ │SFU│║│
 │║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║ ║╰────╯╰────╯┗━━━━┛ ╰────╯╰────╯┗━━━━┛ ╚═════╝ ╰───╯║│
 │╚═══════════════════════════════════════════════════╝ ╚═══════════════════════════════════════════════════╝│
 │┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
 ││                                           Texture/L1 Cache                                              ││
 │└─────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
 │┌───────────────────────┐   ┌───────────────────────┐  ┌───────────────────────┐  ┌───────────────────────┐│
 ││          Tex          │   │           Tex         │  │          Tex          │  │          Tex          ││
 │└───────────────────────┘   └───────────────────────┘  └───────────────────────┘  └───────────────────────┘│
 │┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
 ││                                            64KB Shared Memory                                           ││
 │└─────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Nvidia Volta GV100 SM Unit

Nvidia Volta GV100 SM
 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────┐
 │ Volta GV100 Streaming Multiprocessor (SM)                                                                 │
 │┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
 ││                                          L1 Instruction Cache                                           ││
 │└─────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
 │╔═══════════════════════════════════════════════════╗ ╔═══════════════════════════════════════════════════╗│
 │║┌─────────────────────────────────────────────────┐║ ║┌─────────────────────────────────────────────────┐║│
 │║│              L0 Instruction Cache               │║ ║│              L0 Instruction Cache               │║│
 │║└─────────────────────────────────────────────────┘║ ║└─────────────────────────────────────────────────┘║│
 │║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║ ║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║│
 │║┃          Warp Scheduler(32 thread/clk)          ┃║ ║┃          Warp Scheduler(32 thread/clk)          ┃║│
 │║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║ ║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║│
 │║┌─────────────────────────────────────────────────┐║ ║┌─────────────────────────────────────────────────┐║│
 │║│          Dispatch Unit(32 thread/clk)           │║ ║│          Dispatch Unit(32 thread/clk)           │║│
 │║└─────────────────────────────────────────────────┘║ ║└─────────────────────────────────────────────────┘║│
 │║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║ ║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║│
 │║┃         Register File (16384 x 32-bit)          ┃║ ║┃         Register File (16384 x 32-bit)          ┃║│
 │║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║ ║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┏━━━━━━┓┏━━━━━━┓║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┏━━━━━━┓┏━━━━━━┓║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃Tensor┃┃Tensor┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃Tensor┃┃Tensor┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃ Core ┃┃ Core ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃ Core ┃┃ Core ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┗━━━━━━┛┗━━━━━━┛║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┗━━━━━━┛┗━━━━━━┛║│
 │║╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗  ┏━━━━━━━┓║ ║╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗  ┏━━━━━━━┓║│
 │║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║  ┃  SFU  ┃║ ║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║  ┃  SFU  ┃║│
 │║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║  ┃       ┃║ ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║  ┃       ┃║│
 │║╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝  ┗━━━━━━━┛║ ║╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝  ┗━━━━━━━┛║│
 │╚═══════════════════════════════════════════════════╝ ╚═══════════════════════════════════════════════════╝│
 │╔═══════════════════════════════════════════════════╗ ╔═══════════════════════════════════════════════════╗│
 │║┌─────────────────────────────────────────────────┐║ ║┌─────────────────────────────────────────────────┐║│
 │║│              L0 Instruction Cache               │║ ║│              L0 Instruction Cache               │║│
 │║└─────────────────────────────────────────────────┘║ ║└─────────────────────────────────────────────────┘║│
 │║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║ ║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║│
 │║┃          Warp Scheduler(32 thread/clk)          ┃║ ║┃          Warp Scheduler(32 thread/clk)          ┃║│
 │║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║ ║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║│
 │║┌─────────────────────────────────────────────────┐║ ║┌─────────────────────────────────────────────────┐║│
 │║│          Dispatch Unit(32 thread/clk)           │║ ║│          Dispatch Unit(32 thread/clk)           │║│
 │║└─────────────────────────────────────────────────┘║ ║└─────────────────────────────────────────────────┘║│
 │║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║ ║┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓║│
 │║┃         Register File (16384 x 32-bit)          ┃║ ║┃         Register File (16384 x 32-bit)          ┃║│
 │║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║ ║┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┏━━━━━━┓┏━━━━━━┓║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┏━━━━━━┓┏━━━━━━┓║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃Tensor┃┃Tensor┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃Tensor┃┃Tensor┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃ Core ┃┃ Core ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃ Core ┃┃ Core ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┃      ┃┃      ┃║│
 │║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║ ║┏━━━━━━┓ ╭────╮╭────╮ ╭────╮╭────╮ ┃      ┃┃      ┃║│
 │║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║ ║┃ FP64 ┃ │INT ││INT │ │FP32││FP32│ ┃      ┃┃      ┃║│
 │║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┗━━━━━━┛┗━━━━━━┛║ ║┗━━━━━━┛ ╰────╯╰────╯ ╰────╯╰────╯ ┗━━━━━━┛┗━━━━━━┛║│
 │║╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗  ┏━━━━━━━┓║ ║╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗╔═══╗  ┏━━━━━━━┓║│
 │║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║  ┃  SFU  ┃║ ║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║║LD/║  ┃  SFU  ┃║│
 │║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║  ┃       ┃║ ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║║ST ║  ┃       ┃║│
 │║╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝  ┗━━━━━━━┛║ ║╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝╚═══╝  ┗━━━━━━━┛║│
 │╚═══════════════════════════════════════════════════╝ ╚═══════════════════════════════════════════════════╝│
 │┌─────────────────────────────────────────────────────────────────────────────────────────────────────────┐│
 ││                                   128KB L1 Data Cache / Shared Memory                                   ││
 │└─────────────────────────────────────────────────────────────────────────────────────────────────────────┘│
 │┌───────────────────────┐  ┌───────────────────────┐   ┌───────────────────────┐  ┌───────────────────────┐│
 ││          Tex          │  │          Tex          │   │          Tex          │  │          Tex          ││
 │└───────────────────────┘  └───────────────────────┘   └───────────────────────┘  └───────────────────────┘│
 └───────────────────────────────────────────────────────────────────────────────────────────────────────────┘