GPGPU活用セミナー

【日本アイ・ビー・エム/エヌビディア・ジャパン共催】 近年、HPC(High Performance Computing)分野ではGPU(グラフィックス・プロセッサー・ユニット)を利用した高速演算が増えつつあります。 GPUの性能を発揮させるためには、NVIDIAが提供している CUDA(GPU向け統合開発環境)を用いた開発が必要です。 本セミナーでは、主に開発者、利用部門向けにエヌビディア ジャパンのエンジニアがCUDAのチュートリアル(座学形式)、GPUの実例などをご紹介します。 続きを読む
プログラミング nvidia IBM CUDA GPGPU
3178view 0コメント
2
斉藤之雄 / Yukio Saito @yukio_saitoh
なんとか間に合って、箱崎ビッグブルーで NVIDIA GPGPUセミナ会場に。 #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
NVIDIA 会社概要について受講中。いまは Tegra など。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
初心者向けの説明に。なぜ、GPU が善くて CPU がダメなのか。ムーアの法則など。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
ILP を増やすことで性能向上してきた(年率 52% UP) CPU 性能。 2000年くらいまで。ただしクロックのみ。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
マヌケなプログラムでもインテルの性能でプログラム処理能力も上がってきたwwww  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
スーパースカラ、VLIW、SIMD などのマイクロアーキテクチャ改良による ILP 向上。各種の方式が商用化されたが並列度は2~8程度に留まる。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
バイナリ互換がない x86 と itenium があった。ええ、ありましたとも。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
2005年よりマイコンは集積度の向上をコア数の増大に充てた。クロックアップではなくトランジスタの数を高めていく手法へ(コア数増)。 しかし Amdah の法則による効率の限界はある時代に。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
CPU性能向上速度の鈍化。年率 19% UP 程度。現在はマルチコアが導入されている。インテル CPU の限界。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
一方、GPU は増え続けるコア数を当初より設計アーキテクチャである。コアを増やせ続けられる。年率 74% UP で成長を続けている。 (CPU では最高で年率 54% UP であった)このことからも今後、GPU がより重要になっていくのが明らかである。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
Fermi アーキテクチャで 512 コアを実現。 CPU のコア数と全然違う。(厳密にはプログラム環境も全然違うがw)  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
CPUとGPUの取り扱うアプリの差及び並列処理。CPUは数スレッド及び限られた並列度。GPUはめにースレッド&非常に高い並列度。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
GPUの取扱うアプリの例:グラフィック画像描画(独立計算)、全ポリゴン法線に関する計算は互いに依存度がないので大量の並列処理が実現する。 創薬、地震波の研究、HPC アプリに最適であることが判明している。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
コンシューマ向けの GeForce で TFLOPS の世界に到達している GPU 性能。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
なぜGPUが汎用的な演算に使えるのか? ⇒ NVIDIA が 1993年に北米創業し、画像描画計算に特化したチップ(デバイス)メーカとして強みをもってきている。 // SEGA VirtuaFighter などの CG処理用途など。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
リリースした当初は100万トランジスタ、現在は30億トランジスタで構成。 2006年にアーキテクチャを大幅に変更し、統合シェーダ(プログラマブル・シェーダ)となり GPGPU へ変貌を遂げた。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
三角形ポリゴンの頂点を計算する専用ハードウェアで処理していた。2006年以降は、汎用的なアーキテクチャとしてコアを持つように。プログラムを変更することができ、ポリゴン以外にも適用可能となった。そして GPU コンピューティングへ。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
中身は浮動小数点演算がメイン。固定機能シェーダから汎用ユニファイド・シェーダへ。 GeForce 8シリーズ以降。 Ferimi からは倍精度対応。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
Teslaチップ及びスケーラブルSM (Streaming MultiProcessor) ユニットで構成されている。 SM は GPU を構成する最小単位であった。 ⇒ 32スレッドを同時実行 (Wrap単位)で一括処理する。32ベクトルプロセッサ。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
SIMT (Single Instruction Multiple Threads) 処理。また、GPU は大容量のキャッシュを必要としない。もともと大きなレジストリファイルを持つ。キャッシュミスでメモリ取得というボトルネックが発生しない。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
32スレッドの切り換えは1クロックで参照。大きなレジスタを持つ。・・・ワーク単位で データが Ready になったもおのから処理可能=並列処理(CPUとの違い)。メモリ・レイテンシを隠ぺい化可能=GPU #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
最新 Fermi アーキテクチャ。30億個トランジスタ、512コア、倍精度(64bit) で8倍以上の性能を持ち、ECCメモリを初めて実装した。以前のアーキテクチャは ECC メモリではなくビットエラーも包含していたが、現在は HPC用途にデータ保証されている。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
SM あたり 32 CUDA コア。倍精度浮動小数点ピーク性能は8倍、2個のスレッドスケジューラ、クロック当たり2命令実行。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
GPU は 同時に 24,000スレッドを扱えるようになった。  #gpgpu
斉藤之雄 / Yukio Saito @yukio_saitoh
GPUが得意なのは超並列処理。 CPU 4cores 48 GFLOPS, GPU 512 cores 665 GFLOPS。 GPUだけでは全部できない。協調して使う考え方である。  #gpgpu
残りを読む(122)
ログインして広告を非表示にする
ログインして広告を非表示にする