文献紹介:Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Re...Toru Tamaki
Chun-Fu Richard Chen, Rameswar Panda, Kandan Ramakrishnan, Rogerio Feris, John Cohn, Aude Oliva, Quanfu Fan; Deep Analysis of CNN-Based Spatio-Temporal Representations for Action Recognition, Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 6165-6175
https://openaccess.thecvf.com/content/CVPR2021/html/Chen_Deep_Analysis_of_CNN-Based_Spatio-Temporal_Representations_for_Action_Recognition_CVPR_2021_paper.html
Molecular dynamics (MD) is a very useful tool to understand various phenomena in atomistic detail. In MD, we can overcome the size- and time-scale problems by efficient parallelization. In this lecture, I’ll explain various parallelization methods of MD with some examples of GENESIS MD software optimization on Fugaku.
7. 2022/6/14 7
0
!
3
1
!
2
1
1
|
| 0
3
1
2
1
2
1
2
1
0
C
a
i T
T
T
T
T
T
E
H
0
!
4
1
!
2
1
!
3
1
!
2
1
!
2
1
1
|
| 0
4
1
2
2
1
3
1
2
1
2
2
2
1
2
1
0
C
ab
ij T
T
T
T
T
T
T
T
T
T
E
H
CCSD
C
E
T
T
T
E
H
0
2
1
2
1
0
0
!
2
1
1
|
|
汎用高次相関モジュールの特徴
Initialize vectors ! MP1 amplitudes
Grand loop until convergence
Perform first EEO processing ! N6 cost - parallelized
Perform second EEO processing ! N6 cost - parallelized
Compute other necessary terms ! N5 cost - parallelized
Perform k-loop processing ! N6 cost - parallelized
Perform ij-loop processing ! N6 cost - parallelized
Update amplitude vectors and evaluate correlation energy
Judge convergence for breaking
End of grand loop
Summarize results
・ Kobayashiらの式を汎用化
・ MP3~CCSD(T)までカバー
・ 共有メモリを前提 (OpenMP)
・ 複数の作業配列を使用
・ BDも可能 (メモリ量を節約)
・ AO-MOの混成処理 (EEO)
・ DGEMMを多用した縮約演算
・ N6ループを並列化
・ (T)処理はN7ループ
・ MP1振幅を初期値
・ DIISで反復を加速
CCSD Equation Ref.; R. Kobayashi et al., Chem. Phts. Lett. 265 (1997) 1. & G. E. Scuseria et al., J. Chem. Phys. 89 (1988) 7382.
BD Ref.; N. C. Handy et al., Chem. Phys. Lett. 164 (1989) 185. / CCSD(T) Ref.; K. Ragavachari et al., Chem. Phys. Lett. 157 (1989) 479.
)
exp( 2
1 T
T
CCSD
・ 非線形の展開
・ 4電子励起は2電子励起の”積”
・ 振幅に関する射影方程式を解く
8. 2022/6/14 8
cd
ij
cd
ab
cd
ab
ij
ab
ij b
k
a
k
b
k
ab
cd t
bd
kc
t
kd
ac
bd
ac
b )
|
(
)
|
(
)
|
(
cd
cd
ij
d
c
ij c
c
ij
ij
X )
|
(
k
a
k
kb
ij
b
k
ak
ij
ab
ij
ab
ij
ab
ij t
X
t
X
X
b
j
a
i
ab
ij
ab
ij t
t
t
MP3の処理と同様、(ac,bd)のリストを顕には行わないでFock様処理で済ます
Prepare half-back-transformed (HBT) CC amplitude ! DGEMM
Find largest elements of HBT CC for list
Loop over AO-index quartet ! Parallelized Fock-like processing
Screen (|) with proper threshold and check also maximum HBT CC
Contract HBT CC amplitude and (|) to construct X-array ! DAXPY
End of loop over
Transform X-array and add contributions to residual vector ! DGEMM
c k
c
j
a
k
c
j
ab
ij
ab
ij
ab
ij t
t
bc
ik
t
bc
ia
P )
|
(
)
|
(
ji
ba
ij
ab
ij
ab
ab
ij
P
(ia|bc)も同様に処理
EEOの処理
Ref.; J. D. Watts, Para. Comp. 26 (2000) 857. / EEO = External Exchange Operator.
9. 2022/6/14 9
c
k
b
j
a
i
abc
ijk t
jb
ia
t
kc
ia
t
kc
jb
V )
|
(
)
|
(
)
|
(
jki
bca
kij
cab
ikj
acb
kji
cba
jik
bac
ijk
abc
ijk
abc
abc
ijk
P
c
b
a
k
j
i
abc
ijk
D
d l
bc
lk
cd
kj
abc
ijk
abc
ijk t
jl
ia
t
bd
ia
P
W )
|
(
)
|
(
ijk abc c
b
a ijk
bc
ab )
2
(
3
1
(ia,bc)リストは(反復が終了しているので)メモリに置き、O3V4でコストで縮約する
ijk abc
abc
jik
abc
ikj
abc
kji
abc
jki
abc
kij
abc
ijk
abc
ijk
abc
ijk
abc
ijk
T W
W
W
W
W
W
D
V
W
E 4
4
3
1
)
(
W(i,j,k)abcの構築はabcの3重ループで並列化する
小さな基底でCCSD(T)までやって、MP2で大きな基底でやったエネルギーを補正する
SmallBasis
MP
BigBasis
MP
SmallBasis
T
CCSD
BigBasis
T
CCSD E
E
E
E /
2
/
2
/
)
(
/
)
(
(T)の処理
(T) equation Ref.; T. J. Lee et al., J. Phys. Chem. 94 (1990) 5463. / Extrapolation Ref.; P. Hobza et al., ChemPhysChem 10 (2009) 282.
14. 2022/6/14 14
CALL DGEMM('N','N',NDOC2,NDOC,NVAC,1.0D0,
& T2V_F(1,1,1,LC),NDOC2,BFI_VO(1,1,1),NVAC,1.0D0,
& Q_IJK(1,1,1,6),NDOC2)
CALL DGEMM('N','N',NDOC2,NDOC,NVAC,1.0D0,
& T2V_F(1,1,1,LC),NDOC2,BFI_VO(1,1,2),NVAC,1.0D0,
& Q_IJK(1,1,1,4),NDOC2)
CALL DGEMM('N','N',NDOC2,NDOC,NVAC,1.0D0,
& T2V_F(1,1,1,LA),NDOC2,BFI_VO(1,1,3),NVAC,1.0D0,
& Q_IJK(1,1,1,2),NDOC2)
CALL DGEMM('N','N',NDOC2,NDOC,NVAC,1.0D0,
& T2V_F(1,1,1,LB),NDOC2,BFI_VO(1,1,4),NVAC,1.0D0,
& Q_IJK(1,1,1,3),NDOC2)
CALL DGEMM('N','N',NDOC2,NDOC,NVAC,1.0D0,
& T2V_F(1,1,1,LB),NDOC2,BFI_VO(1,1,5),NVAC,1.0D0,
& Q_IJK(1,1,1,1),NDOC2)
CALL DGEMM('N','N',NDOC2,NDOC,NVAC,1.0D0,
& T2V_F(1,1,1,LA),NDOC2,BFI_VO(1,1,6),NVAC,1.0D0,
& Q_IJK(1,1,1,5),NDOC2)
CALL DGEMM('N','N',NDOC,NDOC2,NDOC,-1.0D0,
& T2V_F(1,1,LC,LB),NDOC,WAIJK(1,1,1,LA),NDOC,1.0D0,
& Q_IJK(1,1,1,3),NDOC)
CALL DGEMM('N','N',NDOC,NDOC2,NDOC,-1.0D0,
& T2V_F(1,1,LC,LA),NDOC,WAIJK(1,1,1,LB),NDOC,1.0D0,
& Q_IJK(1,1,1,5),NDOC)
CALL DGEMM('N','N',NDOC,NDOC2,NDOC,-1.0D0,
& T2V_F(1,1,LA,LB),NDOC,WAIJK(1,1,1,LC),NDOC,1.0D0,
& Q_IJK(1,1,1,1),NDOC)
CALL DGEMM('N','N',NDOC,NDOC2,NDOC,-1.0D0,
& T2V_F(1,1,LB,LC),NDOC,WAIJK(1,1,1,LA),NDOC,1.0D0,
& Q_IJK(1,1,1,6),NDOC)
CALL DGEMM('N','N',NDOC,NDOC2,NDOC,-1.0D0,
& T2V_F(1,1,LB,LA),NDOC,WAIJK(1,1,1,LC),NDOC,1.0D0,
& Q_IJK(1,1,1,2),NDOC)
CALL DGEMM('N','N',NDOC,NDOC2,NDOC,-1.0D0,
& T2V_F(1,1,LA,LC),NDOC,WAIJK(1,1,1,LB),NDOC,1.0D0,
& Q_IJK(1,1,1,4),NDOC)
Kernel of (T) computations - O(N7)
HIV-Protease @ 64 nodes execution / 6-31G basis
* MP4(SDQ) energy = -164.3979 au
MP4(SDTQ) energy = -170.2490 au
* Job time of MP4(SDTQ) is 3.5 hours
with 25% efficiency of peak speed!
MP4(SDTQ)計算が実タンパク質でも可能に!
Overall Data:
=============
Real Time (sec) : 12634.080
User Time (sec) : 5648740.053
System Time (sec) : 4140.492
Vector Time (sec) : 5303545.691
GOPS (rel. to User Time) : 2520.845
GFLOPS (rel. to User Time) : 1867.293
GOPS (concurrent) : 17617.673
GFLOPS (concurrent) : 13050.130
Global Memory size used (GB): 8.000
Job-info for MP4(SDTQ)
M P 3 M P 4(D Q ) M P 4(S D Q ) M P 4(S D TQ ) C C D
Ti
m e (M i
n.
) 21.
5 37.
4 51.
0 210.
6 174.
3
G FLO P S 3399.
4 5696.
9 4920.
3 13050.
1 6146.
7
E f
f
i
c.(% ) 6.
5 10.
9 9.
4 24.
9 11.
7
テンソル縮約計算をDGEMMで処理
ES2の上でのベンチマークテスト#2
57. 57
Fock行列周りの改善
改良指針(井上G@富士通の助言)
14個のIF分岐(添字の同値性判断)が最適化を阻害、アクセスも不連続に
手動での最適化と結果
基底関数添字の同値性を(1/2)n (n=1,2,3)で繰り込み
IF制御は積分閾値の篩い落としのみ
この箇所のみで30%の加速
修正組み込みは作業版で利用中
(全体の高速化では1.5倍)
対角化(今後対応)
LAPACKルーチンを利用
正準直交化を導入
(線形従属性問題も回避)
do p=ixi1,ixi2
do q=ixj1,ixj2
do r=ixk1,ixk2
do s=ixl1,ixl2
ix=ix+1
val = sint(ix)
if((abs(val) <= tv)) cycle
fock(q,p)=fock(q,p)+dc(s,r)*val*2.d0!クーロン項
fock(s,r)=fock(s,r)+dc(q,p)*val*2.d0
fock(r,p)=fock(r,p)-dc(s,q)*val*0.5d0!交換項
fock(s,p)=fock(s,p)-dc(r,q)*val*0.5d0
fock(r,q)=fock(r,q)-dc(s,p)*val*0.5d0
fock(s,q)=fock(s,q)-dc(r,p)*val*0.5d0
end do
end do
end do
end do
【不老 Type I】
改造; 坂倉氏, 中野氏.
最新の作業版では従前比で速度1.7倍超を達成
2022/6/14
81. POPC脂質膜へのFMO-DPDの応用#1
A B C
D E F
W
水を含めた7成分間、21ペアのパラメータ算定
・溶媒効果(Poisson-Boltzmann)を取り入れた二分子モデル計算
・計算レベル:FMO2-MP2-PB/6-31G†、各ペア2000配座
分子内を小分子に分割 ⇒ 「部品」として再利用可能
POPC:頭部にコリンを有する代表的なリン脂質
F E D
D A
B C
A A
A B
B
Ref.; H. Doi et al., Chem. Phys. Lett. 684 (2017) 427.
2022/6/14 6
82. 各成分間のχ(300K)
A B
C D
E F
脂質13%:ベシクル 脂質20%:膜 ⇒経験的パラメータなしで構造の再現
・親水部(E,F,W)同士:親和性大
・疎水部(A,B,C)同士:親和性大
・親水部-疎水部:親和性小
傾向を再現
B C D E F W
A -0.18 -0.23 1.39 4.75 4.76 12.08
B -0.61 0.71 5.46 5.81 12.66
C 1.18 4.81 5.74 10.56
D 1.99 -4.00 9.73
E 2.55 -6.64
F 6.00
親水部(E,F)
疎水部(A,B,C,D)
◇DPDシミュレーション[cognac, 約80000粒子(1辺21.3nm)]
82
2022/6/14
POPC脂質膜へのFMO-DPDの応用#2