1.一種并行程序運行時參數優(yōu)化方法,其特征在于,包括:
利用一次一因子實驗方法進行預備實驗,獲得程序性能受單個參數變化的影響,從而篩選出對程序性能影響超出預定目標的參數及其參數值;
利用均勻實驗方法,從預備實驗篩選出的參數中粗篩選出當前最優(yōu)的參數組合;
在粗篩選出最優(yōu)的參數組合中的各參數取值附近再取一定量的參數值,并利用正交實驗方法分析出各個參數及其參數值對實驗指標的貢獻大小,進而確定最終的最優(yōu)參數組合。
2.根據權利要求1所述的一種并行程序運行時參數優(yōu)化方法,其特征在于,所述實驗指標為程序運行時間,并行程序的各個參數作為實驗因素,并行程序的各個參數的不同取值作為對應實驗因素的水平,各個實驗因素在某個水平上進行取值得到的一組搭配情況作為實驗點,對每個實驗點依次進行實驗,研究實驗因素對實驗指標的影響,從而確定最優(yōu)參數組合,使并行程序在該最優(yōu)參數組合下運行時間最少。
3.根據權利要求1或2所述的一種并行程序運行時參數優(yōu)化方法,其特征在于,篩選出對程序性能影響超出預定目標的參數的步驟包括:
對每個參數選擇初始參數值,即為每個可調參數賦予一個初始值;
在保持其他參數在初始參數值不變的條件下,讓每一個參數在其所允許的范圍內進行連續(xù)變動;
當所有的實驗都做完后,獲得程序性能受單個參數的水平變化的影響,從而篩選出對程序性能影響超出預定目標的參數及其參數值。
4.根據權利要求1或2所述的一種并行程序運行時參數優(yōu)化方法,其特征在于,所述利用均勻實驗方法從預備實驗篩選出的參數中粗篩選出當前最優(yōu)的參數組合的步驟包括:
根據所選參數的個數與各參數的參數值個數,確定相應的均勻表,進而確定實驗方案;
根據實驗方案,在每組參數的不同參數值組合下運行程序;
將最優(yōu)的實驗結果對應的參數組及其參數值,作為粗篩選出的當前最優(yōu)的參數組合。
5.根據權利要求1或2所述的一種并行程序運行時參數優(yōu)化方法,其特征在于,所述確定最終的最優(yōu)參數組合的步驟包括:
針對粗篩選出最優(yōu)的參數組合,各參數分別再取一定數量的參數值,所取的參數值在當前最優(yōu)的參數組合中對應參數的參數值附近,所取的參數值作為對應參數的水平,再根據粗篩選出最優(yōu)的參數組合中參數的個數與調整后的各參數的水平個數,確定相應的正交表,進而確定實驗方案;
根據實驗方案,在每組參數的不同參數值組合下運行程序;
計算性能增量,以性能增量作為參數對程序性能的貢獻率,統(tǒng)計各個參數的不同參數值的貢獻率,篩選出每一參數貢獻率最高的參數值,并作為最終的最優(yōu)參數組合,其中性能增量記為S=(t1-t2)/t2,t1為默認參數組合下程序運行時間,t2為優(yōu)化參數組合下程序運行時間。