CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
CPU/GPUを協調利用する ソフトウェア開発環境
在庫管理問題の動的計画法による 解法とCUDA を用いた高速化
MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
有限差分法による 時間発展問題の解法の基礎
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
CPUについて HN:セシル.
※ 対称密行列の固有値分解は特異値分解と共通点が多い
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
コンピュータプラクティス I 再現性 水野嘉明
Intel AVX命令を用いた並列FFTの実現と評価
Fill-in LevelつきIC分解による 前処理について
A Q R QR分解とは? → × ◆QR分解 QTQ = I (単位行列) ◆応用例 ◆主な計算方法 n m 今回はこの方法に注目
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
高性能コンピューティング論2 第12回 アクセラレータ
AllReduce アルゴリズムによる QR 分解の精度について
楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用
はじめてのCUDA 〜CUDA事始め〜 はるにゃん Lv1くまー.
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
PCクラスタ上での 連立一次方程式の解の精度保証
首都大学東京 都市教養学部数理科学コース 関谷博之
人間とコンピュータの違い コンピュータ 人間
アスペクト指向プログラミングを用いたIDSオフロード
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
正方行列向け特異値分解の CUDAによる高速化
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
高速剰余算アルゴリズムとそのハードウェア実装についての研究
Expression Templateを使った ベクトル演算のCUDAによる 実装と評価
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
コンピュータの歴史 〜計算速度の進歩〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
はじめてのCUDA 〜CUDA事始め〜 はるにゃん Lv1くまー.
リモートホストの異常を検知するための GPUとの直接通信機構
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(NlogN)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似法
プログラミング演習I 2003年5月7日(第4回) 木村巌.
仮想メモリを用いた VMマイグレーションの高速化
Excel 2002,2003基本9 演算誤差.
深層学習を用いた音声認識システム 工学部 電気電子工学科 白井研究室 T213069 林健吉.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
すべてのレポートの提出期限 1月22日 火曜日 これ以降は特殊な理由が無い限り レポートを受け取りません!
AdaPrec (提案手法) の初回の通信精度選択
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
GPGPUによる 飽和高価値 アイテム集合マイニング
プロピレン(約2ユニット)を1つのLJ球としてモデル化
整数データと浮動小数データ.
GPUを用いた疎行列の格納形式による行列ベクトル積の評価
目的:高速QR分解ルーチンのGPUクラスタ実装
背景 課題 目的 手法 作業 期待 成果 有限体積法による汎用CFDにおける 流体構造連成解析ソルバーの計算効率の検証
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
ガイダンス 電子計算機 電気工学科 山本昌志 1E
Jh NAHI 横田 理央 (東京工業大学) Hierarchical low-rank approximation methods on distributed memory and GPUs 背景  H行列、H2行列、HSS行列などの階層的低ランク近似法はO(N2)の要素を持つ密行列をO(N)の要素を持つ行列に圧縮することができる。圧縮された行列を用いることで、行列積、LU分解、固有値計算をO(Nlog2N)で行うことができるため、従来密行列の解法が用いられてきた分野では階層的低ランク近似
■ 背景 ■ 目的と作業内容 分子動力学法とフェーズフィールド法の融合による 粒成長の高精度解析法の構築 jh NAH
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
Mathematicaによる固有値計算の高速化 Eigenvalue calculation speed by Mathematica
分散メモリ型並列計算機上での行列演算の並列化
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
プログラミング入門2 第5回 配列 変数宣言、初期化について
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

CPUとGPUの 性能比較 -行列計算およびN体問題を用いて- 大阪工業大学  情報科学部 コンピュータ科学科 Q07-065 富久 友樹

研究目的 グラフィック用の演算目的に開発された GPUは高い並列計算能力を持っている とされる。 この能力を利用し、科学的数値計算にお いて、従来のCPUを用いるシミュレーショ ンに対し、どの程度CPUとGPUの性能 が違うかを調べることを目的とする。

GPUとは グラフィックボードに搭載されていて、3Dグラ フィックスの表示に必要な計算処理を行うプロ セッサ(Graphics Processing Unit ) 高い並列計算能力を持っており、この能力をグ ラフィック描画だけでなく汎用の数値計算にも 利用することに近年注目が集まっている。 本研究で使用したGPUは“GeForce GTX 285(2009年製)”でコア数は240個、メモリは 1GBである。CPUはCore2 Quad Q9650 3.00GHz、メモリ8GBである。

CUDAとは NVIDIA社が提供するGPU向けのC言語の 統合開発環境であり、コンパイラやライブラリな どから構成されている。 CUDAでGPU向けのプログラムを開発するに はNVIDIA社のグラフィックボードと対応してい るOS(例えばWindows/Linux/Mac)が必要 である。

CUDAのメモリモデル CUDAでは主に、 グローバルメモリと シェアードメモリを使う。 グローバルメモリの特徴 はアクセス速度が低速で 大容量のデータを 記憶できる。 シェアードメモリの特徴は アクセス速度が高速で記 憶できるデータが少ない。

行列計算 n行m列の成分がn+m-1の正方行列(サイズN *N)の積を計算した。  行列計算 n行m列の成分がn+m-1の正方行列(サイズN *N)の積を計算した。 行列計算を用いた理由は並列計算に向いてい るため、演算速度の違いを比較するのに向い ていると考えたからである。      1  2   1  2       1*1+2*3  1*2+2*4     3  4   3  4       3*1+4*3  3*2+4*4                       7  10                      15  22

行列計算による性能比較図 0.6sec 3.75sec 2074sec ・必ずしもGPUの演算速度がCPUを上回るとは限らない。                   行列計算による性能比較図 0.6sec 3.75sec 2074sec ・必ずしもGPUの演算速度がCPUを上回るとは限らない。 ・GPUはN=256から演算速度の伸びが悪くなっている。

N体問題 N個の天体が万有引力で互いに相互作用し合 い、それによってどのように変化していくのかを 数値計算を利用して求める問題である。 本研究では、3次元の  N体問題を4次の  Runge-Kutta法を  用いてシミュレートする。

       N体問題による性能比較図(単精度)

       N体問題による性能比較図(倍精度)

N体問題による性能比較図(統合版)

精度 CUDAに対応したGPUはIEEE754に準拠し ているとある。しかし、丸め誤差の違いにより CPUと演算結果が違うことがあった。        精度 CUDAに対応したGPUはIEEE754に準拠し ているとある。しかし、丸め誤差の違いにより CPUと演算結果が違うことがあった。 CUDAでは、AddとMultipleという二つの演 算を組み合わせて積和を行った場合は積和の 中間結果を切り捨てるようになっており、CPUと 演算結果が異なる可能性がある。 そのため、Round Nearestという、IEEE754 で規定されている丸めモードを指定するための 関数が用意されている。

まとめ 整数値処理のモデルとして行列計算と浮動小 数点処理のモデルとしてN体問題を用いた。  まとめ 整数値処理のモデルとして行列計算と浮動小 数点処理のモデルとしてN体問題を用いた。 整数値計算、浮動小数点計算とも従来のCPU を用いるシミュレーションよりも速い演算が可能 になりどの程度性能が違うかについても検証で きたので当初の目的は達成できた。 問題点としては倍精度ではシェアードメモリに 保存できるデータ量が減った。浮動小数点計 算では精度に気をつける必要がある。