Abstract
The increasing complexity of computer architectures has made the approach of automatically generating code that is optimized for the target machine a growing area of interest. Examples of such systems are library generators, such as ATLAS, SPIRAL, and FFTW. To generate optimized code without manual intervention, these systems need to know the values of certain hardware parameters, such as the cache size or the number of registers. Current software such as X-Ray or LMbench can automatically determine some of these parameters for single processor super-scalar machines but cannot determine multi-core specific characteristics.
In this paper, we present P-Ray, a software suite that characterizes hardware characteristics of multi-core architectures. Such characteristics include the number of cores that share the L2 cache, the different processors’ interconnection topologies, and the bandwidth-to-memory. Our experiments show that, for several different architectures tested (desktop and server), P-Ray generates accurate results.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This material is based upon work supported by the National Science Foundation under Awards CCF 0702260 and CNS 0509432 and by DARPA under award W911NF0710416.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Personal communication with Basilio B. Fraguela, Universidade da Coruña
Frigo, M.: A Fast Fourier Transform Compiler. In: PLDI 1999 — Conference on Programming Language Design and Implementation (1999)
V.U. Instruction. Intel architecture software developer’s manual
McVoy, L., Staelin, C.: lmbench: portable tools for performance analysis. In: ATEC 1996: Proceedings of the annual conference on USENIX Annual Technical Conference, San Diego, CA, pp. 23–23. USENIX Association (1996)
Püschel, M., Moura, J.M.F., Johnson, J., Padua, D., Veloso, M., Singer, B., Xiong, J., Franchetti, F., Gacic, A., Voronenko, Y., Chen, K., Johnson, R.W., Rizzolo, N.: SPIRAL: Code Generation for DSP Transforms. Proceedings of the IEEE, special issue on Program Generation, Optimization, and Adaptation 93(2), 232 (2005)
Saavedra, R.H., Smith, A.J.: Analysis of benchmark characteristics and benchmark performance prediction. ACM Trans. Comput. Syst. 14(4), 344–384 (1996)
Torrellas, J., Tucker, A., Gupta, A.: Evaluating the performance of cache-affinity scheduling in shared-memory multiprocessors. J. Parallel Distrib. Comput. 24(2), 139–151 (1995)
Whaley, R.C., Petitet, A., Dongarra, J.: Automated Empirical Optimizations of Sofware and the ATLAS Project. Parallel Computing 27(1-2), 3–35 (2001)
Yotov, K., Li, X., Ren, G., Garzaran, M.J.S., Padua, D., Pingali, K., Stodghill, P.: Is search really necessary to generate high-performance blas? Proceedings of the IEEE 93(2), 358–386 (2005)
Yotov, K., Pingali, K., Stodghill, P.: X-ray: A tool for automatic measurement of hardware parameters. In: QEST 2005: Proceedings of the Second International Conference on the Quantitative Evaluation of Systems on The Quantitative Evaluation of Systems, p. 168. IEEE Computer Society Press, Los Alamitos (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Duchateau, A.X., Sidelnik, A., Garzarán, M.J., Padua, D. (2008). P-Ray: A Software Suite for Multi-core Architecture Characterization. In: Amaral, J.N. (eds) Languages and Compilers for Parallel Computing. LCPC 2008. Lecture Notes in Computer Science, vol 5335. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89740-8_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-89740-8_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89739-2
Online ISBN: 978-3-540-89740-8
eBook Packages: Computer ScienceComputer Science (R0)