みんなのベクトル計算
たけおか @takeoka
PCクラスタ・コンソーシアム理事でもある
2011/FEB/20

「ベクトル計算が新しい」と2008年末に言いました Intelに入ってる! (2008年から見た「近未来?」) GPU計算が新しい(2008年当時)
 Intel AVX (Advanced Vector Extension)
 SIMD命令を進めて、ベクトル機構をつける
 http://softwareprojects.intel.com/avx/
 AVXは遅れているが、Intelではありがち NEC(半導体部門ではない)と提携
 NECといえばベクトルマシン

GPU=ベクトル・ユニット
 GPU計算
 天河, TSUBAME2.0 などTOP500の1, 3, 4位はGPU+x86
 2, 5位はCrayでx86。コア数がとても多い 「PCマンセー、ベクトル死亡＼(^^)／」という、一般人の皆さんが多数＊＊＊ しかし ＊＊＊ GPUは、まさにベクトル計算機
 ベクトル計算機が、コモディティ技術になっただけ
 Intelも、それに気づいていた AVXを入れようとして遅れ GPU+CPU(Larrabee)も失敗中

TOP500中のTOP5
名前 (サイト, 開発)

コア数

Rmax

Rpeak

電力(KW)(TFlops)

天河1a(天津)186,368

2,566.00

4,701.00

4,040.00

Jaguar(オークリッジ研究所,Cray)

224,162

1,759.00

2,331.00

6,950.60

Cray XT5-HE Opteron 6-core
2.6 GHz星雲(深圳)

120,640

1,271.00

2,984.30

2,580.00

Dawning TC3600 Blade, Intel
X5650, NVidia Tesla C2050
GPUTSUBAME2.0(東工大)

73,278

1,192.00

2,287.63

1,398.60

HP ProLiant SL390s G7 Xeon
6C X5670, Nvidia GPU,Linux/Windows

Hopper(エネルギー研究科学計算センタ,Cray)

153,408

1,054.00

1,288.63

2,910.00

Cray XE6 12-core 2.1 GHz

NUDT TH MPP, X5670 2.93Ghz
6C, NVIDIA GPU, FT-1000 8C

ベクトル計算機とは
 昔のスーパコンピュータ
 ベクトルは今でも速い 日本メーカが強くなりすぎて、政治的にアメリカはベクトル・スパコンを買わなくした 技術的に古くなったのではない 過去に一度も古くなっていない (重要) 地球シミュレータは、ベクトル・マシンを4000台並べた、スパコン・クラスタ ベクトル命令を1つフェッチして、データ列(ベクトル)に、同じ演算を繰り返す
 演算器-ベクトル・レジスタ-外部I/F のバランスを正しく設計する キャッシュ・メモリは必ずしも必要ない

Intel AVXの特徴
Intel AVXの特徴
キー
ワイド・ベクトル 128から256bitへ増加

恩恵
最大2倍のFLOPs

強化されたデータの配置- ブロードキャス
ト、マスクロード、データの転置のための新 必要なデータだけを、高速で効果的にアクセ
しい256bitプリミティブ
スし引っ張ってきて、構成3つか4つのオペランド出鱈目でない文法- より少ないレジスタのコピー、ベクトルでもスカ効果的で将来の拡張性があるように設計 ラでもよりよいレジスタの使用
柔軟な整列していない
メモリのアクセスのサポート
ロードと計算操作の融合をもっと図る
拡張性ある新しいオペコード(VEX)
コードサイズの縮小
Intel AVXは汎用アーキテクチャである、今日のすべてのアプリケーション中のSSEに取って代わる事が期待される

Intel AVX対応コンパイラ模索中 Gccは対応作業中
 Intel Compiler AVXの動作する実機も模索中

ARMもベクトル命令
 VFP (Vector Floating Point) 短ベクトル命令
 実際には、シーケンシャルに処理される
 ベクトル長が短いので、SIMDに比して性能が出ない
 コンパイラもろくにサポートしていない
 Advanced SIMD (NEON) 実SIMD codecで使われ、性能がそれなりに出ているらしいGPGPU
 ベクトル計算機
 CUDA OpenCL
 専用プロセッサを汎用として公開するのは、やはりなかなか難しい GPUメーカも計算ユニットとして意識している
 GPUメーカは、高速計算を得意とする会社が多い 座標変換、ソートなどをパイプラインで行う

ベクトル計算機のオープンなドキュメント
 CRAY X-MPなどのマニュアルがフリーに

 CRAY X-MPとは
 CRAY-1を2台接続
 メインメモリ共有

ベクトル計算機のオープンなドキュメント
 CRAY X-MPなどのマニュアルがフリーに
http://www.bitsavers.org/pdf/cray/
HR-0032_CRAY_X-MP_Series_Model_22_24_Mainframe_Ref_Man_Jul84.pdf

 CRAY X-MPについて詳しく述べてある
 非常に勉強になる ベクトル計算機の使用方法が分かる
 ベクトル計算機の作り方もわかる
 日本語翻訳

一人プロジェクト
 CRAY X-MPについて

http://www.takeoka.org/~take/supercom/cray-xmp.html

ベクトル計算機とは
 ベクトル命令を1つフェッチして、データ列(ベクトル)に、同じ演算を繰り返す
 演算器-ベクトル・レジスタ-外部I/F のバランスを正しく設計する
 キャッシュ・メモリは必ずしも必要ない ベクトル・マスクを利用して、条件によっては結果をストアしない 条件分岐無しで、条件ごとに結果を変えられるベクトル計算機とは
命令デコーダベクトル演算ユニッ
ト

命令
バッファ

ベクトル・レジスタ
64bit×64語×64個(SRAM)

中央
メモリ(DRAM)

メモリI/Oユニット

スカラユニットX-MPシミュレータもある
 XMPSIM CRAY X-MPのパイプラインをシミュレートするソフトウェアがあり。
 命令セットと各命令のパイプラインをシミュレート
 バイナリ供給で、PC/ATのDOS用
 日本語WindowsのDOS窓でも、支障なく使用可能 枠の線などに文字化けが発生するが、使用には、まったく問題なし

http://www.utdallas.edu/~cantrell/ee2310/xmpsim.html

無料ではない教科書
 The Cray X-Mp/Model 24: A Case Study in Pipelined Architecture andVector Processing 出版社: Springer (1989/09)
 ISBN-10: 0387970894
 発売日： 1989/09
 非常にいい教科書 Cray X-MPがどうしてそのように作られているか,がわかる シュプリンガーのレクチャーノートなのに、英語が非常に口語的で泣きそうに。
 これの全和訳もした
 5人程度の有志でベクトル計算バンザイ＼(^^)／
 来るべき新時代に向け勉強しよう マニュアルを読むだけで非常に勉強になる 浮動小数点演算についても詳しく書いてある 4章までアーキテクチャの説明
 5章は命令の個別の説明で、これも興味深いベクトル雑談
 姫野氏
 CRAYで遊んでいた
 ビジュアライゼーション
 A0サイズのプロッタ
 一枚に何コマも作図(作画) 紙をコマ撮りURL CRAY X-MPなどのマニュアルがフリーに
http://www.bitsavers.org/pdf/cray/
HR-0032_CRAY_X-MP_Series_Model_22_24_Mainframe_Ref_Man_Jul84.pdf


http://www.takeoka.org/~take/supercom/cray-xmp.html