========================= Streaming Multiprocessors ========================= - :ref:`nvidia_pascal_gp100_sm` - :ref:`nvidia_volta_gv100_sm` Abbreviations ------------- - `Core`: CUDA Core - `DP-U`: Double Precision, FP64 - `SFU`: Special Function Unit Nvidia Pascal GP100 SM Unit --------------------------- .. _nvidia_pascal_gp100_sm: .. code-block:: text :caption: 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: .. code-block:: text :caption: 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 ----- - `Hopper Microarchitecture `_ - Whitepaper `NVIDIA Tesla P100 `_ - Whitepaper `NVIDIA TESLA V100 `_