Movatterモバイル変換
[0]
ホーム
URL:
画像なし
夜間モード
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Fixstars Corporation
PPTX, PDF
1,748 views
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 37
2
/ 37
3
/ 37
4
/ 37
5
/ 37
6
/ 37
7
/ 37
8
/ 37
9
/ 37
10
/ 37
11
/ 37
12
/ 37
13
/ 37
14
/ 37
15
/ 37
16
/ 37
17
/ 37
18
/ 37
19
/ 37
20
/ 37
21
/ 37
22
/ 37
23
/ 37
24
/ 37
25
/ 37
26
/ 37
27
/ 37
28
/ 37
29
/ 37
30
/ 37
31
/ 37
32
/ 37
33
/ 37
34
/ 37
35
/ 37
36
/ 37
37
/ 37
Recommended
PPTX
Prelude to Halide
by
Akira Maruoka
PDF
OpenFOAMスレッド並列化のための基礎検討
by
Fixstars Corporation
PDF
C++による数値解析の並列化手法
by
dc1394
PDF
静的型付き言語用Just-In-Timeコンパイラの再利用による、動的型付き言語用コンパイラの実装と最適化
by
Kazuaki Ishizaki
PDF
20151112 kutech lecture_ishizaki_public
by
Kazuaki Ishizaki
PDF
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
by
Computational Materials Science Initiative
PDF
20141224 titech lecture_ishizaki_public
by
Kazuaki Ishizaki
PDF
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
by
Computational Materials Science Initiative
PDF
SSII2018TS: 大規模深層学習
by
SSII
PDF
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
by
SSII
PPTX
Firebird2.5 がやってきた!
by
Tsutomu Hayashi
PDF
CMSI計算科学技術特論B(2) アプリケーションの性能最適化1
by
Computational Materials Science Initiative
PPTX
The 53th Computer Vision Study@ kantou by Takamitsu Omasa
by
WEBFARMER. ltd.
PDF
Math works gdlc2019
by
Hirokuni Uchida
PDF
CMSI計算科学技術特論B(1) スーパーコンピュータとアプリケーションの性能
by
Computational Materials Science Initiative
PPTX
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
by
Fixstars Corporation
PDF
第11回 配信講義 計算科学技術特論B(2022)
by
RCCSRENKEI
PDF
新しい並列for構文のご提案
by
yohhoy
PDF
optimal Ate pairing
by
MITSUNARI Shigeo
PDF
マルチコアを用いた画像処理
by
Norishige Fukushima
PDF
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
by
智啓 出川
PDF
動的計画法の並列化
by
Proktmr
PDF
第2回 配信講義 計算科学技術特論A (2021)
by
RCCSRENKEI
PDF
第4回 配信講義 計算科学技術特論A (2021)
by
RCCSRENKEI
PDF
研究生のためのC++ no.7
by
Tomohiro Namba
PPTX
8 並列計算に向けた pcセッティング
by
Takeshi Takaishi
PPTX
GPUによる多倍長整数乗算の高速化手法の提案とその評価
by
Koji Kitano
PPTX
GPUによる多倍長整数乗算の高速化手法の提案
by
Koji Kitano
PDF
CMSI計算科学技術特論A(3) OpenMPの基礎
by
Computational Materials Science Initiative
PDF
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
by
Shintaro Fukushima
More Related Content
PPTX
Prelude to Halide
by
Akira Maruoka
PDF
OpenFOAMスレッド並列化のための基礎検討
by
Fixstars Corporation
PDF
C++による数値解析の並列化手法
by
dc1394
PDF
静的型付き言語用Just-In-Timeコンパイラの再利用による、動的型付き言語用コンパイラの実装と最適化
by
Kazuaki Ishizaki
PDF
20151112 kutech lecture_ishizaki_public
by
Kazuaki Ishizaki
PDF
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
by
Computational Materials Science Initiative
PDF
20141224 titech lecture_ishizaki_public
by
Kazuaki Ishizaki
PDF
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
by
Computational Materials Science Initiative
Prelude to Halide
by
Akira Maruoka
OpenFOAMスレッド並列化のための基礎検討
by
Fixstars Corporation
C++による数値解析の並列化手法
by
dc1394
静的型付き言語用Just-In-Timeコンパイラの再利用による、動的型付き言語用コンパイラの実装と最適化
by
Kazuaki Ishizaki
20151112 kutech lecture_ishizaki_public
by
Kazuaki Ishizaki
CMSI計算科学技術特論B(4) アプリケーションの性能最適化の実例1
by
Computational Materials Science Initiative
20141224 titech lecture_ishizaki_public
by
Kazuaki Ishizaki
CMSI計算科学技術特論B(5) アプリケーションの性能最適化の実例2
by
Computational Materials Science Initiative
What's hot
PDF
SSII2018TS: 大規模深層学習
by
SSII
PDF
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
by
SSII
PPTX
Firebird2.5 がやってきた!
by
Tsutomu Hayashi
PDF
CMSI計算科学技術特論B(2) アプリケーションの性能最適化1
by
Computational Materials Science Initiative
PPTX
The 53th Computer Vision Study@ kantou by Takamitsu Omasa
by
WEBFARMER. ltd.
PDF
Math works gdlc2019
by
Hirokuni Uchida
PDF
CMSI計算科学技術特論B(1) スーパーコンピュータとアプリケーションの性能
by
Computational Materials Science Initiative
SSII2018TS: 大規模深層学習
by
SSII
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
by
SSII
Firebird2.5 がやってきた!
by
Tsutomu Hayashi
CMSI計算科学技術特論B(2) アプリケーションの性能最適化1
by
Computational Materials Science Initiative
The 53th Computer Vision Study@ kantou by Takamitsu Omasa
by
WEBFARMER. ltd.
Math works gdlc2019
by
Hirokuni Uchida
CMSI計算科学技術特論B(1) スーパーコンピュータとアプリケーションの性能
by
Computational Materials Science Initiative
Similar to DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
PPTX
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
by
Fixstars Corporation
PDF
第11回 配信講義 計算科学技術特論B(2022)
by
RCCSRENKEI
PDF
新しい並列for構文のご提案
by
yohhoy
PDF
optimal Ate pairing
by
MITSUNARI Shigeo
PDF
マルチコアを用いた画像処理
by
Norishige Fukushima
PDF
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
by
智啓 出川
PDF
動的計画法の並列化
by
Proktmr
PDF
第2回 配信講義 計算科学技術特論A (2021)
by
RCCSRENKEI
PDF
第4回 配信講義 計算科学技術特論A (2021)
by
RCCSRENKEI
PDF
研究生のためのC++ no.7
by
Tomohiro Namba
PPTX
8 並列計算に向けた pcセッティング
by
Takeshi Takaishi
PPTX
GPUによる多倍長整数乗算の高速化手法の提案とその評価
by
Koji Kitano
PPTX
GPUによる多倍長整数乗算の高速化手法の提案
by
Koji Kitano
PDF
CMSI計算科学技術特論A(3) OpenMPの基礎
by
Computational Materials Science Initiative
PDF
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
by
Shintaro Fukushima
PDF
第5回 配信講義 計算科学技術特論A(2021)
by
RCCSRENKEI
PDF
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
by
ハイシンク創研 / Laboratory of Hi-Think Corporation
PDF
Hpc148
by
N.Nakasato
PDF
Parallel Computation Foundation's assignment 2
by
T2C_
PDF
Parallel Computation Foundation's assignment 1
by
T2C_
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
by
Fixstars Corporation
第11回 配信講義 計算科学技術特論B(2022)
by
RCCSRENKEI
新しい並列for構文のご提案
by
yohhoy
optimal Ate pairing
by
MITSUNARI Shigeo
マルチコアを用いた画像処理
by
Norishige Fukushima
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
by
智啓 出川
動的計画法の並列化
by
Proktmr
第2回 配信講義 計算科学技術特論A (2021)
by
RCCSRENKEI
第4回 配信講義 計算科学技術特論A (2021)
by
RCCSRENKEI
研究生のためのC++ no.7
by
Tomohiro Namba
8 並列計算に向けた pcセッティング
by
Takeshi Takaishi
GPUによる多倍長整数乗算の高速化手法の提案とその評価
by
Koji Kitano
GPUによる多倍長整数乗算の高速化手法の提案
by
Koji Kitano
CMSI計算科学技術特論A(3) OpenMPの基礎
by
Computational Materials Science Initiative
統計解析言語Rにおける大規模データ管理のためのboost.interprocessの活用
by
Shintaro Fukushima
第5回 配信講義 計算科学技術特論A(2021)
by
RCCSRENKEI
機械学習とこれを支える並列計算 : 並列計算の現状と産業応用について
by
ハイシンク創研 / Laboratory of Hi-Think Corporation
Hpc148
by
N.Nakasato
Parallel Computation Foundation's assignment 2
by
T2C_
Parallel Computation Foundation's assignment 1
by
T2C_
More from Fixstars Corporation
PDF
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
by
Fixstars Corporation
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
by
Fixstars Corporation
PDF
いまさら聞けない!CUDA高速化入門
by
Fixstars Corporation
PPTX
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
by
Fixstars Corporation
PPTX
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
by
Fixstars Corporation
PDF
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
by
Fixstars Corporation
PDF
Fpga online seminar by fixstars (1st)
by
Fixstars Corporation
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
by
Fixstars Corporation
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例
by
Fixstars Corporation
PDF
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
by
Fixstars Corporation
PDF
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
by
Fixstars Corporation
PPTX
第8回社内プログラミングコンテスト 結果発表会
by
Fixstars Corporation
PDF
Jetson活用セミナー ROS2自律走行実現に向けて
by
Fixstars Corporation
PDF
株式会社フィックスターズの会社説明資料(抜粋)
by
Fixstars Corporation
PDF
株式会社フィックスターズ 会社説明資料(抜粋)
by
Fixstars Corporation
PDF
株式会社フィックスターズ 会社説明資料(抜粋)
by
Fixstars Corporation
PPTX
第8回社内プログラミングコンテスト 第1位 taiyo
by
Fixstars Corporation
PPTX
第8回社内プログラミングコンテスト 第2位 fy999
by
Fixstars Corporation
PDF
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
by
Fixstars Corporation
PDF
株式会社フィックスターズ 会社説明資料(抜粋)
by
Fixstars Corporation
製造業向け量子コンピュータ時代のDXセミナー~ 最適化の中身を覗いてみよう~
by
Fixstars Corporation
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
by
Fixstars Corporation
いまさら聞けない!CUDA高速化入門
by
Fixstars Corporation
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
by
Fixstars Corporation
製造業向け量子コンピュータ時代のDXセミナー_生産計画最適化_20220323.pptx
by
Fixstars Corporation
金融業界向けセミナー 量子コンピュータ時代を見据えた組合せ最適化
by
Fixstars Corporation
Fpga online seminar by fixstars (1st)
by
Fixstars Corporation
ARM CPUにおけるSIMDを用いた高速計算入門
by
Fixstars Corporation
いまさら聞けないarmを使ったNEONの基礎と活用事例
by
Fixstars Corporation
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
by
Fixstars Corporation
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
by
Fixstars Corporation
第8回社内プログラミングコンテスト 結果発表会
by
Fixstars Corporation
Jetson活用セミナー ROS2自律走行実現に向けて
by
Fixstars Corporation
株式会社フィックスターズの会社説明資料(抜粋)
by
Fixstars Corporation
株式会社フィックスターズ 会社説明資料(抜粋)
by
Fixstars Corporation
株式会社フィックスターズ 会社説明資料(抜粋)
by
Fixstars Corporation
第8回社内プログラミングコンテスト 第1位 taiyo
by
Fixstars Corporation
第8回社内プログラミングコンテスト 第2位 fy999
by
Fixstars Corporation
量子コンピュータ時代の製造業におけるDXセミナー~生産工程効率化に向けた新たなご提案~
by
Fixstars Corporation
株式会社フィックスターズ 会社説明資料(抜粋)
by
Fixstars Corporation
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化
1.
DIC-PCGソルバーのpimpleFoamに対する時間計測と高速化富岡 稔, 澤原
雅隆, 藤原 巧, 𠮷藤 尚生
2.
目次前回までの復習– 目標– 疎行列形式の変更–
Cuthill-McKee法による並列化の実装時間計測さらなる高速化まとめ・今後の予定© 2019 Fixstars Corporation, All rights reserved.1
3.
目次前回までの復習– 目標– 疎行列形式の変更–
Cuthill-McKee法による並列化の実装時間計測さらなる高速化まとめ・今後の予定© 2019 Fixstars Corporation, All rights reserved.2
4.
目標OpenFOAMのスレッド並列化を行いたい– メニーコア環境だとハイブリッド並列の方がフラットMPIよりも有利OpenFOAMはそのままではスレッド並列化が困難であるため、コードに手を加える必要がある© 2019
Fixstars Corporation, All rights reserved.3
5.
疎行列形式の変更並列化のために「lduMatrix形式」から「CSR形式」に変更CSR形式を用いることで、疎行列ベクトル積(SpMV)をスレッド並列化可能に© 2019 Fixstars
Corporation, All rights reserved.𝑈𝐿𝐷 AlduMatrix形式 CSR形式OpenFOAMスレッド並列化のための基礎検討 (http://proc-cpuinfo.fixstars.com/2018/02/openfoam-thread/)4
6.
Cuthill-McKee法CSR形式でもDIC前処理はデータの依存性により並列化が不可能Cuthill-McKee(CM)法により依存を排除し、DIC前処理をスレッド並列化可能に© 2019 Fixstars
Corporation, All rights reserved.Cuthill-McKee法CuthillMckee法によるOpenFOAMのDIC前処理に関するスレッド並列化 (http://proc-cpuinfo.fixstars.com/2018/06/openfoam/)5
7.
目次前回までの復習– 目標– 疎行列形式の変更–
Cuthill-McKee法による並列化の実装時間計測さらなる高速化まとめ・今後の予定© 2019 Fixstars Corporation, All rights reserved.6
8.
時間計測 これまではプロファイラが未実装– 実行時間の比較ができていない
プロファイラを実装し、オープンCAE学会がベンチマークとして作成したチャネル流問題[1]を使用して時間を計測 設定– solver: pimpleFoam– 5ステップだけ計算 環境– Xeon Phi 7210 (64コア, 256スレッド) OpenFOAM (Foundation版) Git-ID:16b559c1© 2019 Fixstars Corporation, All rights reserved.[1] OpenFOAM Benchmark Test for Channel Flow (Re_tau=110),https://gitlab.com/OpenCAE/OpenFOAM-BenchmarkTest/tree/master/channelReTau1107
9.
時間計測(変更なし版)結果PCGの実行時間が大部分を占めている– PCGのみに着目すればよい© 2019
Fixstars Corporation, All rights reserved.80100200300400500600700800900100011001200CoreLoop pEqn PCG CoreLoop pEqn PCGDDR4 MCDRAM実行時間[s]全体の実行時間UEqn pEqn PCG 疎行列ベクトル積 DICcalcReciprocalDDIC前処理 WAXPBY normFactor sumMag sumProd
10.
スレッド並列化の前に…スレッド並列化する前に、フラットMPI並列ではどれくらい高速化できるのか確認DDR4では32倍, MCDRAMでは84倍– スレッド並列でもこれくらい速くすることが目標9©
2019 Fixstars Corporation, All rights reserved.プロセス 数 DDR4 MCDRAM実行時間[s] 高速化率 実行時間[s] 高速化率1 208 x1 210 x164 9.3 x22 5.5 x38128 6.5 x32 2.5 x84256 18 x12 11 x19
11.
CSR化疎行列形式をlduMatrix形式からCSR形式に変更した際に、実行時間に変化があるかを確認© 2019 Fixstars
Corporation, All rights reserved.𝑈𝐿𝐷 AlduMatrix形式 CSR形式10
12.
時間計測DIC前処理の実行時間が増加© 2019 Fixstars
Corporation, All rights reserved.11010020030040050060070080090010001100120013001400lduMatrix形式 CSR形式 lduMatrix形式 CSR形式DDR4 MCDRAM実行時間[s]PCG疎行列ベクトル積 DICcalcReciprocalD DIC前処理 WAXPBY normFactor sumMag sumProd (other)
13.
行列のデータの持ち方を変更DIC前処理の実行時間が増加してしまったアクセスパターンの違いが原因?– lduMatrix形式では全ての要素が連続アクセス– CSR形式では行列全体を持っているため一部のアクセスが連続でないCSR形式において上三角部分と下三角部分も別に保持し、それを使用©
2019 Fixstars Corporation, All rights reserved.AL12
14.
変更結果lduMatrix形式と同程度になった© 2019 Fixstars
Corporation, All rights reserved.13010020030040050060070080090010001100120013001400変更前 変更後 変更前 変更後lduMatrix形式 CSR形式 lduMatrix形式 CSR形式DDR4 MCDRAM実行時間[s]PCG疎行列ベクトル積 DICcalcReciprocalD DIC前処理 WAXPBY normFactor sumMag sumProd (other)
15.
スレッド並列化SpMVおよびDIC前処理は並列化可能– SpMV: CSR化–
DIC前処理: CSR化 + CM法OpenMPを用いてスレッド並列化OpenMPの設定は明記されていない場合はデフォルト(256スレッド)© 2019 Fixstars Corporation, All rights reserved.14
16.
01002003004005006007008009001000lduMatrix形式 CSR化のみ 並列化
lduMatrix形式 CSR化のみ 並列化DDR4 MCDRAM実行時間[s]PCG疎行列ベクトル積 DICcalcReciprocalD DIC前処理 WAXPBY normFactor sumMag sumProd CuthillMcKee (other)時間計測スレッド並列化によるSpMVおよびDIC前処理の高速化を確認© 2019 Fixstars Corporation, All rights reserved.15DIC前処理x3.3SpMVx11.4DIC前処理x3.4SpMVx13.5CM法 CM法
17.
目次前回までの復習– 目標– 疎行列形式の変更–
Cuthill-McKee法による並列化の実装時間計測さらなる高速化まとめ・今後の予定© 2019 Fixstars Corporation, All rights reserved.16
18.
スレッド数の調整スレッド数を変えたときにSpMVおよびDIC前処理の実行時間が変化するかを確認 (単位[s])スレッド数によって、実行時間が大きく異なる場合があるため、調整が必要© 2019
Fixstars Corporation, All rights reserved.スレッド数 DDR4 MCDRAMSpMV DIC前処理 SpMV DIC前処理64 17.6 123.6 13.8 122.7128 21.0 108.7 17.7 105.7256 27.8 160.8 23.7 152.117
19.
行列の並び替えDIC前処理を行う際に、アクセスする行列の要素が飛び飛びになっている– キャッシュミスを誘発並び替えを行って実行時間の変化を確認© 2019
Fixstars Corporation, All rights reserved.18
20.
行列の並び替えCSR形式の場合は、行ごとに列番号を変換しながらコピーを行えばよい行列をL, D, Uに分けた後で並び替えを行うと、L,
Uが三角行列にならないことに注意© 2019 Fixstars Corporation, All rights reserved.1 a bA 2B 3 c dC 4D 53 c d BC 4D 5b 1 aA 2並び替え19
21.
ベクトルの並び替え前処理行列を𝑀とおくと、前処理は以下の式で表される𝑧 = 𝑀−1𝑟並び替えた前処理行列
𝑀′= 𝑃𝑀𝑃 𝑇を用いると、前処理は以下の通りに計算できる𝑧 = 𝑀−1𝑟 = 𝑃 𝑇𝑀′𝑃 −1𝑟= 𝑃 𝑇𝑀′−1𝑃𝑟1. 𝑟′= 𝑃𝑟2. 𝑧′ = 𝑀′−1𝑟′3. 𝑧 = 𝑃 𝑇 𝑧′ベクトルの並び替えの処理も追加で必要© 2019 Fixstars Corporation, All rights reserved.20
22.
行列の並び替えの結果実行時間の変化を確認 (単位[s])DIC前処理の変更前後の最短の実行時間はそれぞれ105秒と39秒– 約2.7倍の高速化©
2019 Fixstars Corporation, All rights reserved.スレッド数 DDR4 MCDRAMDIC前処理 CM法 DIC前処理 CM法変更前 変更後 変更前 変更後 変更前 変更後 変更前 変更後64 123.6 61.7 95.5 112.8 122.7 39.4 103.3 119.2128 108.7 80.5 94.1 110.0 105.7 50.8 99.8 118.2256 160.8 164.6 97.4 110.5 152.1 91.9 103.1 120.621
23.
DDR4 vs. MCDRAM変更前は実行時間にあまり差がなかったが、高速化によって差が大きくなった22©
2019 Fixstars Corporation, All rights reserved.020406080100120140160180DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM64 threads 128threads 256 threads 64 threads 128 threads 256 threads変更前 変更後実行時間[s]DIC前処理
24.
ほかの部分の並列化ボトルネックだった部分が高速化されたことによって、ほかの部分が重くなってきた– WAXPBY– リダクション演算(sumMag,
sumProd)これらを並列化する© 2019 Fixstars Corporation, All rights reserved.2301002003004005006007008009001000lduMatrix形式 CSR化のみ 並列化 lduMatrix形式 CSR化のみ 並列化DDR4 MCDRAM実行時間[s]PCG疎行列ベクトル積 DICcalcReciprocalD DIC前処理 WAXPBY normFactor sumMag sumProd CuthillMcKee (other)
25.
WAXPBYの並列化WAXPBY: 𝐰 =
𝑎𝒙 + 𝑏𝒚 という形で表される計算ループ間に依存関係がないため並列化可能© 2019 Fixstars Corporation, All rights reserved.for (int i = 0; i < n; i++) {w[i] = a * x[i] + b * y[i]}#pragma omp parallel forfor (int i = 0; i < n; i++) {w[i] = a * x[i] + b * y[i]}24
26.
WAXPBYの並列化の結果並列化後の平均実行時間を確認高速化率– DDR4: x19–
MCDRAM: x67© 2019 Fixstars Corporation, All rights reserved.25スレッド数 DDR4 [ms] MCDRAM[ms]1 25.961 26.13964 1.339 0.440128 1.342 0.387256 1.539 0.493
27.
WAXPBYの並列化の結果並列化後の平均実行時間を確認高速化率– DDR4: x19–
MCDRAM: x67© 2019 Fixstars Corporation, All rights reserved.26051015202530DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM1 thread 64 threads 128 threads 256 threads平均実行時間[ms]WAXBPY
28.
リダクション演算の並列化リダクション演算の例として内積がある内積(𝑠 = 𝒙
𝑇𝒚)は以下のように計算できるこのような計算を並列化するには、リダクション指示節を用いればよい© 2019 Fixstars Corporation, All rights reserved.double s = 0.0;for (int i = 0; i < n; i++) {s += x[i] * y[i]}double s = 0.0;#pragma omp parallel for reduction(+:s)for (int i = 0; i < n; i++) {s += x[i] * y[i]}27
29.
リダクション演算の並列化の結果© 2019 Fixstars
Corporation, All rights reserved.sumMag sumProdDDR4 x31 x25MCDRAM x47 x56並列化後の平均実行時間を確認高速化率28スレッド数 sumMag sumProdDDR4[ms] MCDRAM[ms] DDR4[ms] MCDRAM[ms]1 14.907 14.962 18.402 18.26764 0.480 0.317 0.727 0.325128 0.565 0.343 0.780 0.364256 1.253 1.137 1.380 1.101
30.
リダクション演算の並列化の結果© 2019 Fixstars
Corporation, All rights reserved.sumMag sumProdDDR4 x31 x25MCDRAM x47 x56並列化後の平均実行時間を確認高速化率2902468101214161820DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM DDR4 MCDRAM1 thread 64 threads 128 threads 256 threads平均実行時間[ms]sumMag sumProd
31.
SpMVの高速化率についてSpMVが MCDRAM-256スレッド でも13倍しか速くなっていないのはおかしい計測範囲内に含まれていたupdateMarixIntefaces(...)(未並列)が原因分けて計測した時のSpMVの高速化率30©
2019 Fixstars Corporation, All rights reserved.スレッド数 DDR4 MCDRAM64 x24 x34128 x25 x43256 x24 x68
32.
現状のスレッド並列化の結果スレッド並列化の結果PCG全体の高速化率– DDR4: x4.3,
MCDRAM: x4.8© 2019 Fixstars Corporation, All rights reserved.3101002003004005006007008009001000変更前 64 threads 128 threads 256 threads 変更前 64 threads 128 threads 256 threadsDDR4 MCDRAM実行時間[s]PCG疎行列ベクトル積 Cuthill-McKee法 DICcalcReciprocalD DIC前処理WAXPBY normFactor reorderVector sumMagsumProd updateMatrixInterfaces (other)
33.
現状のスレッド並列化の結果個別の高速化率– DIC前処理があまり速くなっていない並列化前にはなかったCM法が、実行時間のかなりの割合を占めている© 2019
Fixstars Corporation, All rights reserved.DDR4 MCDRAMSpMV x25 x68DIC前処理 x6.7 x10WAXPBY x19 x67sumMag x31 x45sumProd x21 x44(理想高速化率) x32 x8432
34.
目次前回までの復習– 目標– 疎行列形式の変更–
Cuthill-McKee法による並列化の実装時間計測高速化まとめ・今後の予定© 2019 Fixstars Corporation, All rights reserved.33
35.
まとめプロファイラを作成し、実行時間を計測したボトルネックであるPCGのSpMVおよびDIC前処理をスレッド並列化した。それに加えて様々な高速化も行った– SpMVは最大68倍の高速化– DIC前処理は最大10倍の高速化DIC前処理とCM法がボトルネックとなり、PCG全体の高速化率は4.8倍にとどまった–
まだまだ高速化が必要© 2019 Fixstars Corporation, All rights reserved.34
36.
今後の予定CM法の実行時間短縮– 疎行列の構造が変化しない場合は最初の1回の結果を使い回す– 差分更新が可能かを調査・検討–
CM法自体の高速化(並列化)© 2019 Fixstars Corporation, All rights reserved.35
37.
今後の予定DIC前処理の高速化– 前処理を行う度にベクトルの並び替えを行っており、ここでも時間がかかっている– 代わりにPCGの最初と最後にベクトルの並び替えを行うような実装に変更する•
𝐴𝒙 = 𝒃 ⇔ 𝐴′ 𝒙′ = 𝒃′ (𝐴′ = 𝑃𝐴𝑃 𝑇, 𝒙′ = 𝑃𝒙, 𝒃′ = 𝑃𝒃)– 高速化率は10倍→16倍に改善されるはず– 理想高速化率は84倍なのでそれでも足りてない。さらなる高速化方法を調査する© 2019 Fixstars Corporation, All rights reserved.前処理全体[s] 並び替え[s]39.7 14.1 (36%)36
Download
[8]
ページ先頭
©2009-2025
Movatter.jp