SIMD 例

SIMD

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/29 13:19 UTC 版)

マイクロプロセッサ

命令拡張

演算装置

演算装置自体がSIMD型のもの

GPU

GPUはSIMD型がほとんどである。ただし、GPGPU対応が進むにつれて、1プロセッサで複数のデータを扱うSIMDだけではなく、複数のプロセッサを用いて実現されるハードウェアマルチスレッドに対して同一の命令を発行することで複数のデータを同時に処理するSIMT英語版の併用が主流となっている。

もともとGPUはXYZW/RGBA(各成分は32ビット単精度浮動小数点数)を同時に演算する128ビットの4-way SIMDが主流だったが、1サイクルで1回の単精度浮動小数点数もしくは32ビット整数の融合積和演算 (FMA) を行なうスカラー型プロセッサを複数束ねるSIMTが主流となった。しかしその後、単精度演算器にて半精度浮動小数点数演算を2回行なう2-way SIMDや、8ビット整数演算を4回行なう4-way SIMDをサポートするGPUも出現し、SIMDとSIMTの併用が始まっている[7]

NVIDIA製GPUでは32個のハードウェアスレッド集合をWarpと呼ぶ。
AMD製GPUでは64個のハードウェアスレッド集合をWavefrontと呼ぶ。
PowerVR Series5では4-way、PowerVR Series6では16-wayのベクタユニット[8]

物理演算プロセッサ

3Dゲームに必要な物理演算を高速化するため、SIMDを利用。

  • PhysX(用のチップ)

汎用アクセラレータ

PCI Express接続の汎用SIMDアクセラレータ。倍精度行列演算を高速に行う目的で、ワークステーションスーパーコンピュータなどに搭載される。

  • CSX600 - クリアスピードによるメニーコアSIMD演算ユニット
  • SX-Aurora TSUBASA Vector Engine - NECのスパコンSX-Aurora TSUBASA搭載の演算ユニットをバラ売りしたもの。8コア、最大2.45TFLOPS[9]

注釈

  1. ^ 英語では「シムディー」("sim-dee") のように読まれる[1]。日本では「シムド」と呼ぶことがある。
  2. ^ "single instruction stream, multiple data stream" とする資料もある[2][3][4]

出典

  1. ^ SIMD - MDN Web Docs Glossary: Definitions of Web-related terms | MDN
  2. ^ P.HAYES, JOHN (1978,1979). Computer Architecture and Organization. McGRAW-HILL INTERNATIONAL BOOK COMPANY. p. 211. ISBN 0-07-027363-4 
  3. ^ 6 群「コンピュータ - 基礎理論とハードウェア」 - 5 編「コンピュータアーキテクチャ(II) 先進的」 - 4 章「ベクトルコンピュータ」 | 電子情報通信学会「知識ベース」
  4. ^ David A. Patterson and John L. Hennessy (2007). Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann Publishers. p. 596. ISBN 978-0-12-370606-5 
  5. ^ SIMD(Single Instruction/Multiple Data)とは - IT用語辞典 e-Words
  6. ^ 株式会社インプレス (2021年3月31日). “Arm、10年ぶりの新アーキテクチャ「Armv9」。富岳のSVE改良版やコンフィデンシャルコンピューティング機能追加”. PC Watch. 2021年12月30日閲覧。
  7. ^ 【後藤弘茂のWeekly海外ニュース】NVIDIA次世代SoC「Xavier」は進化版DenverとVoltaを搭載 - PC Watch
  8. ^ 株式会社インプレス (2014年3月19日). “【後藤弘茂のWeekly海外ニュース】 スマートフォンのグラフィックスを加速する「PowerVR Series6 Rogue」”. PC Watch. 2021年12月29日閲覧。
  9. ^ NEC SX-Aurora TSUBASA Vector Engineの取り扱いを開始
  10. ^ Auto-Vectorizer in Visual Studio 2012 – Overview – Parallel Programming in Native Code
  11. ^ インテル® C++ コンパイラーのベクトル化ガイド - Compiler_AutoVectorization_Guide.pdf
  12. ^ Auto-Vectorization in LLVM — LLVM git documentation
  13. ^ OpenMP 4.0 を使用してプログラムで SIMD を有効にする | iSUS
  14. ^ .NET における数値 | Microsoft Docs





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SIMD」の関連用語

SIMDのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SIMDのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSIMD (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS