摘要:三對角方程求解器是一種在很多科學與工程領域廣泛應用的數值計算核心。目前,CPU、GPU等主流硬件平臺上都提出了高度優化的并行算法,但是對于中國自主研發的申威26010眾核處理器,還沒有一種算法能有效地利用其獨特的硬件特性來達到最大化的性能。提出了一種分布式CR算法swDCR,來求解大量的、規模不大的三對角方程。該算法對每個三對角方程使用多個從核并行求解,通過聯合多個從核的緩存使得運算過程中所有中間變量都能存儲在緩存中,同時利用寄存器通信完成核間數據的高速傳輸。通過設計線程級數據劃分機制,使得向量化的優化效果最大化。swDCR的吞吐率相比主核上的追趕法達到了單精度43.9倍和雙精度36.7倍的加速,相比從核上的追趕法達到了單精度和雙精度均2.07倍的加速。該算法在申威26010處理器單個核組上可以獲得24GB/s的有效帶寬。
注:因版權方要求,不能公開全文,如需全文,請咨詢雜志社