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 ││
│└───────────────────────┘ └───────────────────────┘ └───────────────────────┘ └───────────────────────┘│
└───────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Links
Whitepaper NVIDIA Tesla P100
Whitepaper NVIDIA TESLA V100