33 在数据并行算法中的 Grav函数--II |
|
- !建立粒子Xi和Xj的数组
- Xi = spread (X, dim =3, ncopies = N )
- Xj = spread (X, dim = 2, ncopies = N )
- Ms = spread (M, dim=2, ncopies = N )
- ! 替代和欧几里得距离
- D = Xj - Xi
- R = sqrt (spread ( sum ( D*D, dim=1), dim =1, ncopies=3)))
- ! 除了主对角线外,计算所有的数对
- where (diag)
- elsewhere
- end where
- Grav = sum (A, dim=3)
- 结束函数Grav
Copyright: NPACT |
|