Automatic performance tuning is an optimization of performance parameters suitable ... The target computers include supercomputers, PC servers, PC clusters ...
d-Spline Based Incremental Parameter Estimation in Automatic Performance Tuning Teruo Tanaka, Takahiro Katagiri, and Toshitsugu Yuba Graduate School of Information Systems, The University of Electro-Communications, 1-5-1 Chofu-gaoka, Choufu-shi, Tokyo 182-8585, Japan {teru, katagiri, yuba}@hpc.is.uec.ac.jp
Abstract. In this paper, we introduce a new d-Spline based Incremental Performance Parameter Estimation method (IPPE ). We first define a fitting function d-Spline, which has high flexibility to adapt given data and can be easily computed. The complexity of d-Spline is O(n). We introduce a procedure for incremental performance parameter estimation and an example of data fitting using d-Spline. We applied the IPPE method to automatic performance tuning and ran some experiments. The experimental results illustrate of the advantages of this method, such as high accuracy with a relatively small estimation time and high efficiency for large problem sizes. Keywords: automatic performance tuning, performance parameter estimation, Givens method, mathematical library.
1
Introduction
Automatic performance tuning is an optimization of performance parameters suitable for a certain computational environment in ordinary mathematical libraries [1,2,3]. The target computers include supercomputers, PC servers, PC clusters and MPPs. Viewpoints of the optimization include the number of ALUs, cache size, communication latency and/or bandwidth. Performance parameters such as unrolling depth and block size for cache are estimated for these computational environments. In conventional performance parameter estimation the following procedure is applied to get the optimal values in a mathematical library: step1. Choose static sampling points from values of the performance parameter, step2. Run the target mathematical library to obtain execution time (executed value) at each sampling point, step3. Define a fitting function and fit it to the executed values, step4. Search a minimum value point of the fitting function which corresponds to the optimal value of the performance parameter. In conventional methods the optimal performance parameters are estimated using a previously fixed number of (such as static) sampling points. When the B. K˚ agstr¨ om et al. (Eds.): PARA 2006, LNCS 4699, pp. 986–995, 2007. c Springer-Verlag Berlin Heidelberg 2007
d-Spline Based Incremental Parameter Estimation
987
number of fixed sampling points is large, the accuracy for estimation is high, but the computational efficiency is low and when the number of fixed sampling points is small, vice versa. This is a problem for the fixed number of sampling points. In general, conventional performance parameter estimation has been used in automatic performance tuning. In the case of automatic performance tuning, the possibility to execute the target mathematical library at any sampling point exists. It is possible to dynamically increment sampling points. In this paper we introduce a new method, named the Incremental Performance Parameter Estimation (IPPE ), in which the estimation is started from the least sampling points and incremented dynamically to improve accuracy. The IPPE method has two major issues. The first issue is the selection of a fitting function under the following conditions: 1) it should be calculated by a small number of sampling points because the estimation is started from the least number of sampling points and 2) the calculation cost should be sufficiently small because it is necessary to calculate a fitting function for every sampling point incremented dynamically. The second issue is the criteria for incrementing sampling points; 1) terminating and 2) selecting sampling points. Section 2 of this paper describes d-Spline based incremental performance parameter estimation. Section 3 presents the procedure for IPPE. Section 4 illustrates an example of data fitting using d-Spline. Section 5 gives an application to automatic performance tuning. Section 6 provides summary, conclusions and future work.
2 2.1
d-Spline Based Incremental Performance Parameter Estimation Fitting Function d-Spline
Execution time for mathematical library [sec.]
Fig.1 illustrates the fitting function d-Spline with sampling points and executed values. Regarding the first issue of the IPPE method, we define a fitting function
f1 f2
y2 f3 y1
f4
f5 f6 f 7
yk f8
f9
fj
fn-2
fn-1
fn
yi
x1 x2 x3 x4 x5 x6 x7 x8 x9 … xj … xn-2 xn-1 xn s s s s : Values of performance parameter ( : Sampling points) s yi : Executed values at sampling points (1