- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PPTfile-kek
2008/8/5 研究背景 研究目的 発表の流れ 高速化の方針 CUDAによる行列計算の高速化 CUBLASの特徴 特異値分解計算の特徴 特異値分解計算の特徴 高速化の方針 アルゴリズムの選択(二重対角化?逆変換) 従来法 従来法の特徴 Bischofの手法 Bischofの手法 Bischofの手法 Bischofの特徴 性能予測による比較 実装の概要 Bischofの手法の実装 下三角帯行列化 帯行列化の逆変換 村田法の逆変換 GPUへの村田法の移植 特異値分解計算の全体の様子 性能評価 評価方法 二重対角化と逆変換の評価 特異分解計算全体の評価 二重対角化と逆変換の評価 特異分解計算全体の評価 Bischofの手法のステップごとの評価 性能予測の評価 精度評価 終わりに まとめと今後の課題 ◆ n=5120 CPU(2コア) CPU(1コア) GPU 実行時間 (sec) 7.0倍の高速化 実行時間 (sec) ◆ n=5120 CPU(2コア) CPU(1コア) GPU 4.2倍の高速化 Speedup ◆ L=64の場合 (n) Speedup = CPU (2コア)での実行時間 / CPU (1コア) GPUでの実行時間 予測 実際 時間 (sec) n = 5120 , L = 64 予測性能は実際の性能の上限を見積もっている 従来法の予測性能 < Bischofの手法の実際の性能 村田法はCPU Bischofの手法の選択は適切であったと言える n n ◆ まとめ CUDAを用いた正方行列の特異値分解計算の高速化 CUBLASのSGEMMの利用を中心とした高速化 性能予測により,Bischofの手法を二重対角化?逆変換の手法として選択 メモリ配置の工夫によるデータ転送コストの削減 CPU上での事前計算による,CUBLASのSGEMMの有効利用 数値実験による性能評価(特異値分解全体で最大4倍程度の高速化) ◆ 今後の課題 CPUとGPUの仕事の分担のさらなる効率化 適切な半帯幅の決定方法 村田法の高速化 最新バージョンのCUDAや他のアクセラレータを用いた性能評価 対称行列の固有値計算への適用 ?GPGPUが盛ん ?CUDAによってより身近に ? 逆変換では鏡像変換をブロック化して、SGEMMが使える * * 山本 有作 (名古屋大学) 深谷 猛 (名古屋大学) 畝山 多加志 (京都大学) 中村 佳正 (京都大学) 正方行列向け特異値分解のCUDAによる高速化 2009年 6月 24日 GPGPU 研究会 筑波大学 計算科学研究センター ◆ GPGPU (General Purpose GPU) ◆ CUDA (Compute Unified Device Architecture) 一般の科学技術計算へのGPUの利用 単純計算ではCPUの数十倍の性能 CPUを上回る性能向上 開発環境の整備 NVIDIA GeForce8800 GTX (単精度演算:345.6GFLOPS) GPGPUのための統合開発環境 2006年にNVIDIA社が発表 C/C++の拡張によりGPGPUのプログラミングが可能 GPU向けにチューニング済みのライブラリ(BLAS,FFT) CUDAの利用例:行列計算,重力多体計算,分子軌道計算,流体計算など (Cf. http://www.nvidia.co.jp/object/cuda_home_jp.html) ◆ 正方行列の特異値分解 A : n×n 密行列 U : n×n 直交行列 S : n×n 対角行列 V : n×n 直交行列 (応用分野:画像処理,情報検索,主成分分析など) ◆ 研究目的 CUDAによる正方行列の特異値分解計算の高速化 実装コストと汎用性の考慮 GPUに適したアルゴリズムを選択 性能評価と課題の発見 ※ GPUを使う部分の計算は単精度で行う 研究背景と目的 高速化の方針 アルゴリズムの選択 実装の概要 性能評価 終わりに ◆ GPU向けにプログラムの移植 拡張されたC言語でコーディングして,nvccでコンパイル 自由度の高いプログラミングが可能 GPUの性能を十分に引き出すには様々なチューニングが必要 (スレッド数,条件分岐,メモリアクセスの連続性など) ◆ CUBLASの利用 CUDAで提供されているBLAS(Basic Linear Algebra Subprograms) 標準のC言語のプログラム中で利用可能 (gccでコンパイル可能) 限られた基本演算(行列ベクトル積,行列乗算など)のみ GPU向けにチューニング済み 今回はできるだけCUBLASを使って高速化を行う ◆ 仕様の特徴 ユーザー自身がデータ
您可能关注的文档
- JGJ25-2000《档案馆建筑设计规范(与建设部联合修改颁发的强制性行.doc
- JavaE.ppt.ppt
- java.ppt-西安职业技术学院.ppt
- JLK-6306+12+18+24框式绞线机(整体侧下方上盘).doc
- ISOIEC17025认可证书CNAS-PD2009-B3机构名称上海电器.doc
- JMX-NetBeansWiki.doc
- KeywordsConsolidatedfinancialstatement,Internet.doc
- Jumpcut-朝阳科技大学.doc
- KKZ-100550直流架线自动停送电开关说明书.doc.doc
- Kingston远东金士顿科技股份有限公司.ppt
文档评论(0)