2010 · 57 citations · 36 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureParallel ComputingCode GenerationCompiler ConstructionData ParallelismData-flow AnalysisCompiler DesignLocality ConstraintsLoop TilingTile Size OptimizationTiling SchemesTilings
Tiling is a widely used loop transformation for exposing/exploiting parallelism and data locality. Effective use of tiling requires selection and tuning of the tile sizes. This is usually achieved by hand-crafting tile size selection (TSS) models that characterize the performance of the tiled program as a function of tile sizes. The best tile sizes are selected by either directly using the TSS model or by using the TSS model together with an empirical search. Hand-crafting accurate TSS models is hard, and adapting them to different architecture/compiler, or even keeping them up-to-date with respect to the evolution of a single compiler is often just as hard. Instead of hand-crafting TSS models, can we automatically learn or create them? In this paper, we show that for a specific class of programs fairly accurate TSS models can be automatically created by using a combination of simple program features, synthetic kernels, and standard machine learning techniques. The automatic TSS model generation scheme can also be directly used for adapting the model and/or keeping it up-to-date. We evaluate our scheme on six different architecture-compiler combinations (chosen from three different architectures and four different compilers). The models learned by our method have consistently shown near-optimal performance (within 5% of the optimal on average) across all architecture-compiler combinations.
36
Pattern Recognition and Machine Learning
Journal of Electronic Imaging · 2007 · 22.1K citations
A scaled conjugate gradient algorithm for fast supervised learning
Martin F. Møller · Neural Networks · 1993 · 4.1K citations
Pattern recognition and machine learning
Choice Reviews Online · 2007 · 2.7K citations
A practical automatic polyhedral parallelizer and locality optimizer
Uday Bondhugula, Albert Hartono, J. Ramanujam et al. · 2008 · 883 citations