第五章 模擬驗證與結果討論
5.2 GPU 之加速成果與分析
5.2.3 雷諾數固定下改變網格大小
透過固定雷諾數為 1000 改變網格大小情況下,探討 GPU 加速之效益,
在 CPU 端分別採用了 Intel® Core™2 Duo Processor E7400
(3M Cache, 2.80 GHz, 1066 MHz FSB) 與 AMD Athlon II X4 635 (L1 512KB, L2 1MB, 2.9GHz)進行比較,流線函數部分演算法在 GPU 與 CPU 上均採用 Jacobi 法,模擬條件及成果如表 5-4 所示,透過圖 5-53 可知在網格數量小
74
時,AMD 與 Intel 之運算時間差異較小,而網格一經擴大兩者在運算時間 上便開始有顯著差異,一般而言 Intel 公司所開發之中央處理器對於編譯器 有最佳化的效果,並且其 CPU 內之指令集架構較有利於處理數值運算部分,
在網格數達 257×1793 下,模擬總時間大約差了 3600 秒,根據圖 5-54 可發 現,在網格數達 257×1793 下,採用 AMD 設備模擬時間與 GPU 之平行運 算時間相差了大約 44 倍,採用 Intel 設備則相差了 34 倍左右。
隨後採取迭代一次渦度方程式所花費之時間做為比較,如圖 5-55 所示,
網格數量越大下,加速成效越顯著,網格數達 257×1793,以 AMD 之設備 做為基準有 44 倍左右加速效果,Intel 則有 34 倍左右加速效果,與總時間 加速成效約略相同。
在本次模擬條件雷諾數為 1000 下分別選定網格數大小為 129×129、
257×257 及 513×513 進行方穴流模擬,其流線分布情形如圖 5-56 至圖 5-58 所示,放大左下與右下之渦旋進行觀察,可發現網格大小於 129×129 時,
左側渦旋的邊緣銳化的相當嚴重,右側渦旋在尖峰處銳化情形較為明顯;
隨後將網格大小放大至 257×257,左側與右側渦旋有顯著改善,但是在尖峰 處仍有細微的銳化現象;將網格大小取至 513×513 時,左側與右側之渦旋 之流線分布情況顯得平滑許多,僅左下與右下之極小渦旋仍然有銳化現象,
推測是網格大小仍不夠細緻所導致。根據 Ghia et al. (1982)之水平與垂直中 心線上速度計算結果,做為比較之基準如圖 5-59 至圖 5-60 所示,其 U、V
75
之速度在網格情況數不同下所求得之數值約略相同。
在選定網格大小為 129×129、257×257 及 513×513 進行模擬時,隨著網 格點數增加,模擬時間也會隨之拉長,根據圖 5-61 可發現在採用網格大小 257×257 GPU 平行運算模擬之時間仍短於 CPU 在網格大小 129×129 下之模 擬時間;網格大小為 513×513 GPU 平行運算模擬之時間仍短於 CPU 在網格 大小 257×257 下之模擬時間,這意味著在耗費相同的模擬時間下,GPU 可 進行較為細緻之模擬,網格點數較多下所得之流線相對平滑,以利探討複 雜流場之細部情況。
76
77
129×129 129×129 129×129 257×257
400 1000 3200 5000
129×129 129×129 129×129 257×257
400 1000 3200 5000
78
129×129 129×129 129×129 257×257
400 1000 3200 5000
129×129 129×129 129×129 257×257
400 1000 3200 5000
79 迭代一次時間(秒) 0.000223 0.000236 0.000239 0.00025 0.000384 0.000403 0.000406 0.000807
CPU - Jacobi
迭代次數 189271 260290 194435 175854 184410 183862 183482 225736 模擬時間(秒) 415.015 590.578 512.266 443.875 848.11 948.328 1002.938 4223.843 總模擬時間加速比 9.92 9.81 11.52 10.60 11.78 12.63 13.42 22.66
迭代一次時間(秒) 0.002193 0.002269 0.002635 0.002524 0.004599 0.005158 0.005466 0.018711 迭代一次加速比 9.84 9.60 11.02 10.09 11.97 12.79 13.45 23.18
CPU - PGS
迭代次數 189271 260290 194435 175854 184410 183862 183482 225736 模擬時間(秒) 376.656 581.14 532.109 452.75 872.344 988.797 1005.297 4558.641 總模擬時間加速比 9.00 9.65 11.97 10.82 12.12 13.17 13.45 24.46
迭代一次時間(秒) 0.00199 0.002233 0.002737 0.002575 0.00473 0.005378 0.005479 0.020195 迭代一次加速比 8.93 9.45 11.44 10.30 12.31 13.33 13.48 25.01
CPU - PSOR
迭代次數 139398 159821 103132 60314 146135 145363 145838 199651 模擬時間(S) 300.5 352.782 269.328 149.328 715.25 744.625 712.859 3851.406 總模擬時間加速比 7.18 5.86 6.06 3.57 9.93 9.92 9.54 20.66
迭代一次時間(秒) 0.002156 0.002207 0.002611 0.002476 0.004894 0.005123 0.004888 0.019291 迭代一次加速比 9.67 9.34 10.92 9.90 12.73 12.70 12.02 23.89
80
201×221 201×231 201×241 201×251 201×441 201×461 201×481 257×821
1.1 1.15 1.2 1.25 2.2 2.3 2.4 3.2
201×221 201×231 201×241 201×251 201×441 201×461 201×481 257×821
1.1 1.15 1.2 1.25 2.2 2.3 2.4 3.2
加速倍數
(x)
長寬比與網格大小 不同長寬比下穴流之加速比
總模擬時間加速比
81
201×221 201×231 201×241 201×251 201×441 201×461 201×481 257×821
1.1 1.15 1.2 1.25 2.2 2.3 2.4 3.2
201×221 201×231 201×241 201×251 201×441 201×461 201×481 257×821
1.1 1.15 1.2 1.25 2.2 2.3 2.4 3.2
82
83
257×1793 257×1793 257×1793
500 1000 5000
257×1793 257×1793 257×1793
500 1000 5000
84
257×1793 257×1793 257×1793
500 1000 5000
129×129 201×241 257×257 201×481 257×821 513×513 257×1793
1 1.2 1 2.4 3.2 1 7
Core™2 Duo Processor E7400 2.8GHz) CPU - Jacobi (AMD Athlon II X4 635 2.9GHz)
85
表 5- 4 不同網格數下之模擬成果表
長寬比 D = H/W 1 1.2 1 2.4 3.2 1 7
網格大小 129×129 201×241 257×257 201×481 257×821 513×513 257×1793 GPU - Jacobi
迭代次數 102223 185918 140481 183889 230874 352502 229633 模擬時間(S) 13.5 44.469 44 74.75 186.406 363.515 378.407 迭代一次時間 0.000132 0.000239 0.000313 0.000406 0.000807 0.001031 0.001648
CPU - Jacobi (Intel® Core™2 Duo Processor E7400 2.8GHz)
迭代次數 100190 194435 138896 183482 225736 354359 225266 模擬時間(S) 59.766 512.266 456.516 1002.938 4223.843 7726.063 12611.55 總模擬時間加速比 4.43 11.52 10.38 13.42 22.66 21.25 33.33 迭代一次時間 0.000597 0.002635 0.003287 0.005466 0.018711 0.021803 0.055985 迭代一次加速比 4.52 11.02 10.49 13.45 23.18 21.14 33.97
CPU - Jacobi (AMD Athlon II X4 635 2.9GHz)
迭代次數 100190 194435 138896 183482 225736 354359 225266 模擬時間(S) 70.484 635.453 577.656 1169.75 5807.156 11470.94 16208.17 總模擬時間加速比 5.22 14.29 13.13 15.65 31.15 31.56 42.83 迭代一次時間 0.000704 0.003268 0.004159 0.006375 0.025725 0.032371 0.071951 迭代一次加速比 5.33 13.66 13.28 15.68 31.86 31.39 43.66
86
129×129 201×241 257×257 201×481 257×821 513×513 257×1793
1 1.2 1 2.4 3.2 1 7
加速倍數 (x)
網格大小與長寬比
雷諾數1000不同模擬情況下之總時間加速比
CPU - Jacobi (Intel® Core™2 Duo Processor E7400 2.8GHz)
CPU - Jacobi
129×129 201×241 257×257 201×481 257×821 513×513 257×1793
1 1.2 1 2.4 3.2 1 7 E7400 2.8GHz) CPU - Jacobi (AMD Athlon II X4 635 2.9GHz)
87
圖 5- 56 雷諾數 1000 網格大小 129×129 雷諾數 1000 網格大小129×129
左下渦旋 右下渦旋
88
圖 5- 57 雷諾數 1000 網格大小 257×257 雷諾數 1000 網格大小257×257
左下渦旋 右下渦旋
89
圖 5- 58 雷諾數 1000 網格大小 513×513 雷諾數 1000 網格大小513×513
左下渦旋 右下渦旋
90
129*129 GPU 257*257 GPU 513*513 GPU
-0.6
129*129 GPU 257*257 GPU 513*513 GPU
91
圖 5- 61 雷諾數 1000 下不同網格大小模擬時間
60 457
7,726
14 44 364
0 1000 2000 3000 4000 5000 6000 7000 8000
129×129 257×257 513×513
模擬時間
(s)
網格大小
雷諾數1000下不同網格大小模擬時間
CPU - Jacobi (Intel® Core™2 Duo Processor E7400 2.8GHz)
GPU - Jacobi
92