Program Behavior Characterization Through Advanced Kernel Recognition

  • Manuel Arenaz
  • Juan Touriño
  • Ramón Doallo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4641)


Understanding program behavior is at the foundation of program optimization. Techniques for automatic recognition of program constructs (from now on, computational kernels) characterize the behavior of program statements, providing compilers with valuable information to to guide code optimization. Our goal is to develop automatic techniques that summarize the behavior of full-scale real applications by building a high-level representation that hides the complexity of implementation details. The first step towards this goal is the description of applications in terms of computational kernels such as induction variables, reductions, and array recurrences. To this end we use XARK, a compiler framework that recognizes a comprehensive collection of frequently used kernels. This paper presents detailed experiments that describe several benchmarks from different application domains in terms of the kernels recognized by XARK. More specifically, the SparsKit-II library for the manipulation of sparse matrices, the Perfect benchmarks, the SPEC CPU2000 collection and the PLTMG package for solving elliptic partial differential equations are characterized in detail.


  1. 1.
    Andrade, D., Arenaz, M., Fraguela, B.B., Touriño, J., Doallo, R.: Automated and Accurate Cache Behavior Analysis for Codes with Irregular Access Patterns. Concurrency and Computation: Practice and Experience (in press)Google Scholar
  2. 2.
    Arenaz, M., Touriño, J., Doallo, R.: A GSA-Based Compiler Infrastructure to Extract Parallelism from Complex Loops. In: 17th International Conference on Supercomputing, San Francisco, CA, pp. 193–204 (2003)Google Scholar
  3. 3.
    Arenaz, M.: Compiler Support for Parallel Code Generation through Kernel Recognition. In: 18th International Parallel and Distributed Processing Symposium, Santa Fe, NM (2004)Google Scholar
  4. 4.
    Bank, R.E.: PLTMG Package. available at [Last accessed May 2007]
  5. 5.
    Berry, M., Chen, D., Koss, P., Kuck, D., Pointer, L., Lo, S., Pang, Y., Roloff, R., Sameh, A., Clementi, E., Chin, S., Schneider, D., Fox, G., Messina, P., Walker, D., Hsiung, C., Schwarzmeier, J., Lue, K., Orzag, S., Seidl, F., Johnson, O., Swanson, G., Goodrum, R., Martin, J.: The Perfect Club Benchmarks: Effective Performance Evaluation of Supercomputers. International Journal of Supercomputer Applications 3(3), 5–40 (1989)CrossRefGoogle Scholar
  6. 6.
    Gerlek, M.P., Stoltz, E., Wolfe, M.: Beyond Induction Variables: Detecting and Classifying Sequences using a Demand-Driven SSA. ACM Transactions on Programming Languages and Systems 17(1), 85–122 (1995)CrossRefGoogle Scholar
  7. 7.
    Lin, Y., Padua, D.A.: On the Automatic Parallelization of Sparse and Irregular Fortran Programs. In: O’Hallaron, D.R. (ed.) LCR 1998. LNCS, vol. 1511, pp. 41–56. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  8. 8.
    Pottenger, W.M., Eigenmann, R.: Idiom Recognition in the Polaris Parallelizing Compiler. In: 9th International Conference on Supercomputing, Barcelona, Spain, pp. 444–448 (1995)Google Scholar
  9. 9.
    Saad, Y.: SPARSKIT: A Basic Tool Kit for Sparse Matrix Computations (Version 2) [Last accessed May 2007], available at–/SPARSKIT/sparskit.html
  10. 10.
    SPEC. SPEC CPU2000. Standard Performance Evaluation Corporation [Last accessed May 2007], available at
  11. 11.
    Suganuma, T., Komatsu, H., Nakatani, T.: Detection and Global Optimization of Reduction Operations for Distributed Parallel Machines. In: 10th International Conference on Supercomputing, Philadelphia, PA, pp. 18–25 (1996)Google Scholar
  12. 12.
    Tu, P., Padua, D.A.: Gated SSA-Based Demand-Driven Symbolic Analysis for Parallelizing Compilers. In: 9th International Conference on Supercomputing, Barcelona, Spain, pp. 414–423 (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Manuel Arenaz
    • 1
  • Juan Touriño
    • 1
  • Ramón Doallo
    • 1
  1. 1.Computer Architecture Group, Department of Electronics and Systems, University of A Coruña, A CoruñaSpain

Personalised recommendations