近接作用論では力は場の局所的な相互作用で伝搬し、力の伝播速度には上限が存在し運動は並列的である。シミュレーションで並列計算機の性能を引き出すには物理現象の局所性と並列性が計算時のデータアクセスにおいても実現することが重要である。基礎方程式を微分形式で記述し、離散化し陽解法で解いた。この一連の手続きは基礎方程式の局所性と並列性を保ち、並列計算機を使った大規模シミュレーションを可能とする。
シミュレーションにおける局所性と並列性の離散微分形式による実現⽇本応⽤数理学会2021年度年会(2021/9/7~9)DeepFlow 株式会社 ○深川 宏樹 ⽯原 拓哉[email protected]flow.co.jp0
View Slide
Topic局所性と並列性シミュレーション例の紹介1物理現象 微分形式↓ ↓⾃然変換計算機 離散微分形式
物理現象の局所性と並列性局所性:近接相互作用⼒は場の局所的な相互作⽤を介在して伝搬する。⼒の伝播速度に上限が存在する。↓並列性:遠⽅では独⽴に運動する。テスト電荷による電場のゆがみ。電位を⾼低に置き換えている。 2
場の運動⽅程式ہॴੑͱฒྻੑ࣌ࠁ t ͱҐஔ x ͰͷΛ ω Ͱද͠ɼͷۭؒΛ ω ͱॻ͘ɽۙ࡞༻ͷجૅํఔࣜ∂ω(t, x)∂t= f(ω(t, x), ω (t, x)) (1)༩͑ΒΕΔɽࣜ (1) Λతʹղ͜͏ɽ࣌ؒࠁΈ෯ ∆t Ͱׂ͠ɼ࣌ؒͷΠϯσοΫεΛͱ͢ΔɽۭؒΛϝογϡׂ͠ɼׂཁૉΛͱݺͼɼID Λ n ͱ͢ΔɽࢄԽͨ͠ͷ∗∗(m, n) Ͱද͢ɽCell n ͷۙʹ͋Δ CellD Λ (n, i) ͱ͢Δɽi ≥ 0 ۙʹ͋Δ Cell࢜Λ۠ผ͠ɼn = (n, 0) ͱ͢Δɽω (t, x) ͷΓɼ u 1 ܗࣜͰͷ Cell χ ্ͷੵ (ධՁχ, ω :=ω ʹରͯ͠ੵΛฦ͢χ∗ := χ, V ͷରۭؒ V ∗ ͷݩω∗∗ := evalω :ೋॏରۭؒ V ∗∗ ͷݩ!(", 1)(", 2)", 3離散化"∗∗ # + 1, != "∗∗ #, ! + (("∗∗ #, !, * Δt3
陽解法!(", 1)(", 2)", 3時間刻みメモリの配置"∗∗ # + 1, ! = "∗∗ #, ! + (("∗∗ #, !, * Δt4
参照の局所性5CPU3次キャッシュ・メモリ1次キャッシュ・メモリ2次キャッシュ・メモリメモリ(主記憶装置)⾼速・⼩容量・ランダムアクセス低速・⼤容量・連続アクセスアクセス時間 記憶容量1-2 clock 64KB3-10 clock 246KB10-20 clock 2MB50-100 clock 16GB
参照の並列性コアコアコアコアメモリコアコアコアコアメモリコアコアコアコアメモリ…領域分割近いものは同じノードのメモリに載っけるノード6
流体の⽅程式ナビエ・ストークス質量保存時間発展は次の形でかける。7!"!#= −div("*)Δ*: = grad div − rot rot *!*!#= −* ⋅ rot * −12grad * ⋅ * −1"(grad 6 − 7Δ*)͢ʹɼཧݱͷہॴੑͱฒྻੑ͕ܭࢉ࣌ͷσʔλΞΫηεʹ͓͍࣮ͯݱ͢Δ͜ͱ͕ཁͰ͋Δ [1]ɽͷجૅํఔࣜΛඍܗࣜͰ༩ΕɼہॴੑͱฒྻੑΛอͭࣗવͳࢄԽ͕͖ɼେنͳγϛϡϨʔγϣϯ͕Ͱ͖Δ [2]ɽہॴੑͱฒྻੑ࣌ࠁ t ͱҐஔ x ͰͷΛ ω Ͱද͠ɼͷۭؒΛ ω ͱॻ͘ɽۙ࡞༻ͷجૅํఔࣜ∂ω(t, x)∂t= f(ω(t, x), ω (t, x)) (1)༩͑ΒΕΔɽࣜ (1) Λతʹղ͜͏ɽ࣌ؒਤ 1. ྲྀମܭࢉͰͷີ3 ࢄඍܗࣜElkurage ͰཧྔΕΔɽྫ͑ɼྲྀମܭΓɼ u 1 ܗࣜͷ Cell χ ্ͷੵ (ධχ, ω :ω ʹରͯ͠ੵΛฦwhere
ベクトル解析圧⼒ P 勾配 grad P速度場 & 回転 rot &流束密度 ) 発散 div )P888PPP8
微分形式圧⼒ P 勾配 grad P0 form ∋ P ↦ dP ∈ 1 form速度場 & 回転 rot &1 form ∋ & ↦ d& ∈ 2form流束密度 4 発散 div 42 form ∋ 4 ↦ d4 ∈ 3 form9P888
離散微分形式ɼਤ 1. ྲྀମܭࢉͰͷີ ρ ͱ u ͷஔageͰཧྔશͯඍܗࣜͰ༩͑Βྫ͑ɼྲྀମܭࢉͰີ ρ 0 ܗࣜͰ͋ u 1 ܗࣜͰ͋Δɽඍܗࣜ ω ∈ Vχ ্ͷੵ (ධՁ) ΛٻΊΔɽχ, ω :=χω ∈ R (3)ͯ͠ੵΛฦ͢ઢܗ൚ؔχ∗ := χ, : ω → χ, ω (4)6 : 積分領域 線分 面領域 体積領域7 8 : 位置8での物理量 速度 流束密度 質量密度物理量7の積分領域6 での評価(積分)値10
離散微分形式χ, ω :=χω ∈ R (3)ରͯ͠ੵΛฦ͢ઢܗ൚ؔχ∗ := χ, : ω → χ, ω (4)ͷରۭؒ V ∗ ͷݩʹͳΔɽω ͷධՁࣸ૾ω∗∗ := evalω : χ∗ → χ, ω (5)ରͯ͠ੵΛฦ͢ઢܗ൚ؔχ∗ := χ, : ω → χ, ω (4)ͷରۭؒ V ∗ ͷݩʹͳΔɽω ͷධՁࣸ૾ω∗∗ := evalω : χ∗ → χ, ω (5)ॏରۭؒ V ∗∗ ͷݩͱͳΔɽඍܗࣜ ω ͠ɼͷۭؒૅํఔࣜt, x)) (1)ղ͜͏ɽ࣌ؒϯσοΫεΛɼׂཁૉΛԽͨ͠ͷͷ Cell χ ্ͷੵ (ධՁ) ΛٻΊΔχ, ω :=χω ∈ Rω ʹରͯ͠ੵΛฦ͢ઢܗ൚ؔχ∗ := χ, : ω → χ, ω V ͷରۭؒ V ∗ ͷݩʹͳΔɽω ͷ∗∗ ∗物理量7の積分領域6 での評価(積分)値7∗∗ は 7の離散化7(8) : 位置8での物理量 ➡ 7∗∗(6∗): 領域6で7の評価(積分)値∫!双対双対の双対11
離散微分形式CellͷԽ(2)) ͷͳΔɽϨοฒྻΑΔೋॏରۭؒ V ∗∗ ͷݩͱͳΔɽඍܗࣜ ω ҙͷ x Ͱ࿈ଓʹ ω(x) Λ͕࣋ͭɼධՁࣸ૾ω∗∗ Մࢉݸͷ Cell χͷΈʹରԠͯ͠ ω∗∗(χ∗)Λ࣋ͭɽ͜ͷ ω∗∗ ΛࢄඍܗࣜͱݺͿɽࣸ૾ φ : V → W ͱ σ∗ ∈ W∗ Λ༩͑ͨͱ͖ɼV ্ͷ൚ؔΛφ∗(σ∗) := σ∗ ◦ φ = σ, φ( ) (6)ͰఆΊΔɽφ∗∗(ω∗∗) := ω∗∗◦ φ∗ ͱ͢Εɼ(φ∗∗(ω∗∗))(σ∗)= σ, φ(ω) =(φ(ω))∗∗(σ∗) (7)(φ∗∗(ω∗∗))(σ∗)= σ, φ(ω) =(φ(ω))∗∗(σ∗) (7)ΛಘΔɽͭ·ΓɼਤࣜV ∗∗ //φV ∗∗φ∗∗ω ∗∗ //_φω∗∗_φ∗∗W ∗∗ // W∗∗ φ(ω) ∗∗ // (φ(ω))∗∗=φ∗∗(ω∗∗)͕ՄʹͳΔɽφ ͕ઢܗͳΒɼࣜ (3) ͷઢ離散化∗∗は⾃然変換:離散化**と写像=は可換12
離散微分形式ՄʹͳΔɽφ ͕ઢܗͳΒɼࣜ (3) ͷઢੑΑΓɼઢܗͳసஔࣸ૾ tφ Λ༻͍ͯσ, φ(ω) = tφ(σ), ω (8)right (C) 2021 Ұൠࣾஂ๏ਓຊԠ༻ཧֶձਤ 2. ճసೋॏӋࠜͷۭྗܭࢉͳΓ [3]ɼφ(ω) ΛΒͳͯ͘ (φ(ω))∗∗ࢉͰ͖Δɽྫ͑ɼ֎ඍ d ઢܗࣸ૾ɼڥք࡞༻ૉΛ ∂ ͱͯ͠ɼετʔΫεͷ写像=が線形写像なら、次を満たす線形写像 #=が存在する。例:∫!d# = ∫"!#= Σ#∫$!#ਤ 2. ճసೋॏӋࠜͷۭྗܭࢉͱͳΓ [3]ɼφ(ω) ΛΒͳͯ͘ (φ(ω))∗∗(σ) ͕ܭࢉͰ͖Δɽྫ͑ɼ֎ඍ d ઢܗࣸ૾Ͱ͋Γɼڥք࡞༻ૉΛ ∂ ͱͯ͠ɼετʔΫεͷఆཧΑΓ σ, dω = ∂σ, ω ͱͳΔɽω Λ 2 ܗࣜͱ͢Εɼdω 3 ܗࣜͱͳΔɽχiΛ 3-Cell σ ͷද໘Λ෴͏ 2-Cell ͱ͢Εɼ∂σ = iχiͱͳΓɼ(dω)∗∗(σ∗) = ω∗∗(χ∗) ͱܭࢉͰ͖Δɽϗοᝳໟਸଠࢯͷɼ͞Λͬࢀߟจ[1] TTMHIfi&( ) =佐武⼀郎, 線形代数学, 裳華房, 1958.13
シミュレーションਤ 2. ճసೋॏӋࠜͷۭྗܭࢉͱͳΓ [3]ɼφ(ω) ΛΒͳͯ͘ (φ(ω))∗∗(σ) ͕ܭࢉͰ͖Δɽྫ͑ɼ֎ඍ d ઢܗࣸ૾Ͱ͋Γɼڥք࡞༻ૉΛ ∂ ͱͯ͠ɼετʔΫεͷఆཧΑΓ σ, dω = ∂σ, ω ͱͳΔɽω Λ 2 ܗࣜͱ͢Εɼdω 3 ܗࣜͱͳΔɽχiΛ 3-Cell σ ͷද໘Λ෴͏ 2-Cell ͱ͢Εɼ∂σ = iχiͱͳΓɼ(dω)∗∗(σ∗) = iω∗∗(χ∗i) ͱܭࢉͰ͖Δɽϗοδελʔ࡞༻ૉઢܗࣸ૾Ͱ͋Γɼಉ༷ʹܭࢉͰ͖Δɽࣸ૾ඞͣ͠ઢܗͱݶΒͳ͍ɽྫ͑ɼ෦ੵඇઢܗࣸ૾Ͱ͋Δɽ͜ͷ߹ʹਤ 3. μΠϙʔϧΞँࣙ ElkurageձࣾͷੴҪେւᝳໟਸষࢯɼDଠࢯͷڠྗΛಘɼ͘͞ΒΠϯΛͬͨɽࢀߟจݙ[1] T. MuraTomita, KMaruyamaH. Hotta,Inoue, Auficient CoscriptionsProc. of tshop on Fਤ 3. μΠϙʔϧΞϯςφͷిؾྗઢ (ࠨ) ͱ࣓ (ӈ)1248163264128256512102420484096819216384327681 4 16 64 256 1024 4096 16384SpeedupNumber of ProcessorsIdeal SpeedupCX400 Actual Speedupparallel portion 0.95参考ベンチマーク-strong scaling流体構造連成解析(FSI)戦略的イノベーション創造プログラム深川 2017年14
ϯʹ͓͚ΔہॴੑͱฒྻੑͷࢄඍܗࣜʹΑΔ࣮ݱ࠸ 1ձࣾ[email protected]flow.co.jpͱɼྗͷہॴతͳ૬ޓʹ্ݶ͕ଘࡏ͠ɼɽฒྻܭࢉػͷੑೳΛҾ͖ͷہॴੑͱฒྻੑ͕ܭࢉ࣌ʹ͓͍࣮ͯݱ͢Δ͜ͱ͕جૅํఔࣜΛඍܗࣜͰ༩ྻੑΛอͭࣗવͳࢄԽ͕ਤ 1. ྲྀମܭࢉͰͷີ ρ ͱ u ͷஔ3 ࢄඍܗࣜまとめ:シミュレーションにおける局所性と並列性の離散微分形式による実現物理↓ 陽解法計算機微分形式 7 8↓ ⾃然変換 **離散微分形式 7∗∗(6∗) 離散微分形式による⼤規模シミュレーション, 応⽤数理, 31(2021), 22–26.散逸系の変分原理, ⽇本物理学会誌, 72 (2017), 34–38.微分形式による粘性流体の定式化, ながれ, 40 (2021), 38–45.152 ہॴੑͱฒྻੑ࣌ࠁ t ͱҐஔ x ͰͷΛ ω Ͱද͠ɼͷۭؒඍΛ ω ͱॻ͘ɽۙ࡞༻ͷجૅํఔࣜ∂ω(t, x)∂t= f(ω(t, x), ω (t, x)) (1)Ͱ༩͑ΒΕΔɽࣜ (1) Λతʹղ͜͏ɽ࣌ؒΛࠁΈ෯ ∆t Ͱׂ͠ɼ࣌ؒͷΠϯσοΫεΛm ͱ͢ΔɽۭؒΛϝογϡׂ͠ɼׂཁૉΛCell ͱݺͼɼID Λ n ͱ͢ΔɽࢄԽͨ͠ͷΛ ω∗∗(m, n) Ͱද͢ɽCell n ͷۙʹ͋Δ Cellͷ ID Λ (n, i) ͱ͢Δɽi ≥ 0 ۙʹ͋Δ CellΓɼͷ Cell χ ্ω ʹରͯ͠ V ͷରωೋॏର. ྲྀମܭࢉͰͷີ ρ ͱ u ͷஔࢄඍܗࣜageͰཧྔશͯඍܗࣜͰ༩͑Βྫ͑ɼྲྀମܭࢉͰີ ρ 0 ܗࣜͰ͋ u 1 ܗࣜͰ͋Δɽඍܗࣜ ω ∈ Vχ ্ͷੵ (ධՁ) ΛٻΊΔɽχ, ω :=χω ∈ R (3)