iT邦幫忙

DAY 13
0

平行計算筆記系列 第 13

平行計算Ch3筆記4 The n-Body Problem

  • 分享至 

  • xImage
  •  

本篇在舉例說明並且練習分析平行計算的方法與設計

N-body simulation 參考資料

The n-Body Problem:

簡單來說,就是模擬很多粒子之間的交互作用,粒子跟粒子之間會有引力作用,

要隨時求出每個粒子的位置與速度向量,還有其他粒子的資訊,才能算出其他粒子對於該粒子的引力影響

假設現在有三個質點

每個質點有他的data量 (坐標 有兩個64bit的浮點數)

有一個向量 (坐標 有兩個64bit的浮點數)

所以n個質點就有 4n個 浮點數

經過時間 data T 後直點來到新的位置,

然後要加上其他直點給予的引力影響

最後算出新的位置

但是除了位置的改變之外

其實速度也會變

所以這種運算要把它平行化

Partitioning

首先將問題分割 Assume one task per particle 假設一個任務針對一顆粒子!

Task

– particle’s position

– velocity vector

這個Task 寫出我們需要求出粒子的位置以及他目前的速度向量

Iteration

– Get positions of all other particles

– Compute new position, velocity

這裡是指說,要必須不斷地求出其他粒子的位置坐標,這樣才能算出下一秒鐘其他粒子對於自己那顆粒子的引力影響

並且不對地更新位置坐標資訊與速度向量的資訊!

Gather

每一個個體都需要拿到其他人手上的東西

這個動作叫做 gather

就是把其他 process 手上算好的資料拿過來

當然自己算得部分也要給出去

All-gether

自己要拿其他人算的結果

而自己算的結果也要全部給出去一遍

這種叫做 all gather

( to be continued ...)


上一篇
平行計算Ch3筆記3
下一篇
平行計算Ch3筆記5
系列文
平行計算筆記19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言