ConbineFace の前処理 CF_GetOuterLine の OpenMP 化
最初(2018/09 に作成して 2019/03 まで)外側の CF_GetOuterLine を並列化していたが,効果があまりなかった.
T5400 だったこともあり,チューニングがちょっと面倒.
今回 Z170S0 になったので,再度調整.
内側のループにするとこで,ある程度期待できる範囲に落ち着いたと思う.
但し,データのばらつきによりあまり効果がないこともある.
conbinef.hxx
ある程度 OpenMP の効果が確認できるデータで時間を計ってみた.
ML110G6 | |||||||||||||
1 | 86.828 | 83.703 | 90 | 85 | |||||||||
2 | 86.719 | 53.812 | 173 | 106 | |||||||||
3 | 56.906 | 40.547 | 162 | 120 | |||||||||
4 | 47.390 | 47.172 | 178 | 174 | |||||||||
5 | 41.282 | 34.610 | 184 | 155 | |||||||||
6 | 38.422 | 37.953 | 201 | 200 | |||||||||
7 | 33.407 | 34.922 | 200 | 206 | |||||||||
8 | 33.812 | 32.875 | 210 | 212 | |||||||||
Z170S0 | |||||||||||||
1 | 63.657 | 63.156 | 62 | 62 | |||||||||
2 | 42.437 | 40.922 | 78 | 77 | |||||||||
3 | 33.407 | 35.328 | 86 | 88 | |||||||||
4 | 28.625 | 27.766 | 86 | 86 |
ML110G6 は,メモリ量が少ないためかばらつきが多い.
DC_F_717.zip