什麼是 純量、向量與張量運算單元

在現代計算領域中,根據處理數據類型的維度與運算方式的不同,運算單元主要分為處理純量 (Scalar)向量 (Vector)張量 (Tensor) 三大類。


數據結構與運算單元定義

1. 純量運算單元 (Scalar Processing Unit, SPU)

純量 (Scalar) 是指一個單一的數值,例如 $x = 5$

純量運算單元 (SPU) 每次指令只處理一對數據。這種處理模式稱為 單一指令單一數據 (Single Instruction, Single Data, SISD)。中央處理器 (Central Processing Unit, CPU) 的核心主要就是針對複雜的邏輯判斷與純量運算設計的。

2. 向量運算單元 (Vector Processing Unit, VPU)

向量 (Vector) 是一組有序的一維數值序列,例如 $\mathbf{v} = [1, 2, 3, 4]$

向量運算單元 (VPU) 可以透過一次指令同時處理多組數據運算,這稱為 單一指令多重數據 (Single Instruction, Multiple Data, SIMD)。圖形處理器 (Graphics Processing Unit, GPU) 的早期設計主要是為了處理 3D 座標的向量位移與光影計算,因此具備強大的向量處理能力。

3. 張量運算單元 (Tensor Processing Unit, TPU)

張量 (Tensor) 是多維數組的總稱。在深度學習中,張量通常指二維(矩陣)或更高維度的數據結構。

張量運算單元 (TPU) 專門優化大規模的矩陣乘法與累加運算 (Multiply-Accumulate, MAC)。這類單元常見於人工智慧 (Artificial Intelligence, AI) 加速器,如 Google 開發的 TPU 或 NVIDIA 的 張量核心 (Tensor Core)


運算能力與架構對比

下表對比三種運算單元在處理模式、硬體代表及主要用途上的差異:

特性 純量運算 (Scalar) 向量運算 (Vector) 張量運算 (Tensor)
數據維度 0 維 (單一數值) 1 維 (數值序列) 多維 (矩陣或更高維)
處理架構 SISD SIMD 脈動陣列 (Systolic Array)
主要硬體 CPU 核心 GPU 流處理器 AI 加速器 (TPU, NPU)
擅長任務 邏輯控制、作業系統運行 影像處理、科學計算 深度學習模型訓練與推論
並行程度 低 (循序執行為主) 中 (數百至數千執行緒) 高 (大規模矩陣並行)

不同角度看運算單元演進

1. 效率角度:運算密度的極大化

  • 純量單元 著重於「低延遲」,確保單一指令能最快完成,適合處理不可預測的邏輯分支。

  • 向量與張量單元 著重於「高吞吐量」,透過犧牲單一指令的執行速度,換取單位時間內處理數萬個數據的能力。

2. 應用角度:從通用到專用

  • 計算機發展初期以 CPU 純量運算為主,因為當時任務多樣且複雜。

  • 隨著神經網絡 (Neural Network, NN) 的興起,由於其運算核心 90% 以上由矩陣乘法構成,這促使硬體設計從通用的向量計算轉向專化的張量計算,以達到更高的能效比。


參考資料來源

  1. Google Cloud: Cloud TPU 系統架構說明

  2. NVIDIA: Tensor Core 深度學習核心技術文檔

  3. Intel: SIMD 向量指令集 (AVX-512) 介紹

隨機文章

隨機美圖

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *