Abstract
Trimaran is an integrated compilation and performance monitoring infrastructure. The architecture space that Trimaran covers is characterized by HPL-PD, a parameterized processor architecture supporting novel features such as predication, control and data speculation and compiler controlled management of the memory hierarchy. Trimaran also consists of a full suite of analysis and optimization modules, as well as a graph-based intermediate language. Optimizations and analysis modules can be easily added, deleted or bypassed, thus facilitating compiler optimization research. Similarly, computer architecture research can be conducted by varying the HPL-PD machine via the machine description language HMDES. Trimaran also provides a detailed simulation environment and a flexible performance monitoring environment that automatically tracks the machine as it is varied.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abraham, S., Kathail, V., Deitrich, B.: Meld scheduling: A technique for relaxing scheduling constraints. Technical Report HPL-1997-39, Hewlett Packard Laboratories (February 1997)
Altemose, G., Norris, C.: Register pressure responsive software pipelining. In: Proceedings of the 2001 ACM symposium on Applied computing (2001)
Arnold, M., Hsiao, M., Kremer, U., Ryder, B.G.: Instruction scheduling in the presence of java’s runtime exceptions. In: Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing (2000)
Carter, L., Simon, B., Calder, B., Carter, L., Ferrante, J.: Predicated static single assignment. In: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (1999)
Clark, N., Tang, W., Mahlke, S.: Automatically generating custom instruction set extensions. In: Proceedings of the 1st Annual Workshop on Application-Specific Processors (November 2002)
Furber, S.: ARM System Architecture. Addison Wesley, Reading (1996)
Gallagher, D., Chen, W., Mahlke, S., Gyllenhaal, J., Hwu, W.: Dynamic memory disambiguation using the memory conflict buffer. In: Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 183–195 (1994)
Gyllenhaal, J., Hwu, W., Rau, B.R.: Hmdes version 2.0 specification. Technical Report IMPACT-96-3, University of Illinois, Urbana (1996)
Hwu, W., Mahlke, S., Chen, W., Chang, P., Warter, N., Bringmann, R., Ouellette, R., Hank, R., Kiyohara, T., Haab, G., Holm, J., Lavery, D.: The superblock: An effective technique for VLIW and superscalar compilation. Journal of Supercomputing (January 1993)
Intel Itanium Processors, http://www.intel.com/itanium/
Kathail, V., Schlansker, M., Rau, B.R.: HPL-PD architecture specification: Version 1.1. Technical Report HPL-9380 (R.1), Hewlett Packard Laboratories (February 2000)
Lam, M.: Software Pipelining: An Effective Scheduling Technique for VLIW Machines. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, Atlanta, GA, pp. 318–328 (June 1988)
Lee, C., Potkonjak, M., Mangione-Smith, W.H.: MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems. In: Proceedings of the 30th Annual International Symposium on Microarchitecture (MICRO-30), Research Triangle Park, NC, December 1997. IEEE Computer Society Press, Los Alamitos (1997)
Mahlke, S., Chen, W., Bringmann, R., Hank, R., Hwu, W., Rau, B.R., Schlansker, M.: Sentinel scheduling: a model for compiler-controlled speculative execution. ACM Transactions on Computer Systems 11(4) (November 1993)
Mahlke, S., Lin, D., Chen, W., Hank, R., Bringmann, R.: Effective compiler support for predicated execution using the hyperblock. In: Proceedings of the 25th Annual International Symposium on Microarchitecture, pp. 45–54 (December 1992)
Olden benchmark suite, http://www.cs.princeton.edu/~mcc/olden.html
Palem, K., Chakrapani, L., Yalamanchili, S.: A framework for compiler driven design space exploration for embedded system customization. In: Proceedings of the 9th Asian Computing Science Conference (December 2004)
Rabbah, R., Palem, K.: Data remapping for design space optimization of embedded memory systems. To appear in a Special Issue of the ACM Transactions in Embedded Computing Systems (2003)
Rabbah, R., Sandanagobalane, H., Ekpanyapong, M., Wong, W.-F.: Compiler orchestrated prefetching via speculation and predication. In: Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems (October 2004)
Rau, B.R.: Iterative Modulo Scheduling. Technical Report HPL-94-115, Hewlett Packard Company (November 1995)
Rau, B.R.: Iterative modulo scheduling. Technical Report Technical Report HPL-94-115, Hewlett-Packard Laboratories (November 1995)
Rau, B.R., Lee, M., Tirumalai, P., Schlansker, M.: Register allocation for modulo scheduled loops: Strategies, algorithms and heuristics. Technical Report HPL-1992-48, Hewlett Packard Laboratories (May 1992)
Rogers, A., Li, K.: Software support for speculative loads. In: Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 38–50 (1992)
Schlansker, M., Rau, B.: EPIC: Explicitly Parallel Instruction Computing. IEEE Computer 33(2), 37–45 (2000)
Schreiber, R., Aditya, S., Mahlke, S., Kathail, V., Rau, B.R., Cronquist, D., Sivaraman, M.: PICO-NPA: High-level synthesis of nonprogrammable hardware accelerators. Journal of VLSI Signal Processing 31(2) (June 2002)
Sias, J.W., zee Ueng, S., Kent, G.A., Steiner, I.M., Nystrom, E.M., Mei, W., Hwu, W.: Field-testing impact epic research results in itanium 2. In: Proceedings of the 31st annual international symposium on Computer architecture (June 2004)
Smelyanskiy, M., Mahlke, S., Davidson, E., Lee, H.-H.: Predicate-aware scheduling: A technique for reducing resource constraints. In: Proceedings of the 1st International Symposium on Code Generation and Optimization (March 2003)
Standard Performance Evaluation Corporation benchmark suite, http://www.spec.org
Talla, S.: Adaptive explicitly parallel instruction computing. PhD thesis, New York University (2000)
TRICEPS: A TRIMARAN-based ARM code generator, http://www.trimaran.org/triceps.shtml
Tritanium: A trimaran-based Itanium code generator, http://hydrogen.cs.gwu.edu/tritanium
Wireless integrated microsystems, http://www.wimserc.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chakrapani, L.N., Gyllenhaal, J., Hwu, Wm.W., Mahlke, S.A., Palem, K.V., Rabbah, R.M. (2005). Trimaran: An Infrastructure for Research in Instruction-Level Parallelism. In: Eigenmann, R., Li, Z., Midkiff, S.P. (eds) Languages and Compilers for High Performance Computing. LCPC 2004. Lecture Notes in Computer Science, vol 3602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11532378_4
Download citation
DOI: https://doi.org/10.1007/11532378_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28009-5
Online ISBN: 978-3-540-31813-2
eBook Packages: Computer ScienceComputer Science (R0)