The DOI matches its Crossref record; 30 of the 30 references it cites were found in a registry or an index.
Improving the ratio of memory operations to floating-point operations in loops
Open accessAbstract
Over the past decade, microprocessor design strategies have focused on increasing the computational power on a single chip. Because computations often require more data from cache per floating-point operation than a machine can deliver and because operations are pipelined, idle computational cycles are common when scientific applications are executed. To overcome these bottlenecks, programmers have learned to use a coding style that ensures a better balance between memory references and floating-point operations. In our view, this is a step in the wrong direction because it makes programs more machine-specific. A programmer should not be required to write a new program version for each new machine; instead, the task of specializing a program to a target machine should be left to the compiler. But is our view practical? Can a sophisticated optimizing compiler obviate the need for the myriad of programming tricks that have found their way into practice to improve the performance of the memory hierarchy? In this paper we attempt to answer that question. To do so, we develop and evaluate techniques that automatically restructure program loops to achieve high performance on specific target architectures. These methods attempt to balance computation and memory accesses and seek to eliminate or reduce pipeline interlock. To do this, they estimate statically the balance between memory operations and floating-point operations for each loop in a particular program and use these estimates to determine whether to apply various loop transformations. Experiments with our automatic techniques show that integer-factor speedups are possible on kernels. Additionally, the estimate of the balance between memory operations and computation, and the application of the estimate are very accurate—experiments reveal little difference between the balance achieved by our automatic system that is made possible by hand optimization.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Lecture Notes in Computer Science 1205
(1999) · Industrial Robot the international journal of robotics research and application · doi:10.1108/ir.1999.04926fae.001 · Cited by 39,209
A data locality optimizing algorithm
Wolf, M. E., & Lam, M. S. (1991) · ACM-SIGPLAN Symposium on Programming Language Design and Implementation · doi:10.1145/113445.113449 · Cited by 1,272
The cache performance and optimizations of blocked algorithms
Lam, M. D., Rothberg, E. E., & Wolf, M. E. (1991) · doi:10.1145/106972.106981 · Cited by 926
Automatic translation of FORTRAN programs to vector form
Allen, R., & Kennedy, K. (1987) · ACM Transactions on Programming Languages and Systems · doi:10.1145/29873.29875 · Cited by 735
Self-citationRegister allocation via coloring
Chaitin, G. J., Auslander, M. A., Chandra, A. K., Cocke, J., Hopkins, M. E., & Markstein, P. W. (1981) · Computer Languages · doi:10.1016/0096-0551(81)90048-5 · Cited by 729
The Structure of Computers and Computations
Kuck, D. L. (1978) · UCLA - Biblioteca de Ciencias y Tecnologia Felix Morales Bueno · Cited by 500
Strategies for cache and local memory management by global program transformation
Gannon, D. B., Jalby, W., & Gallivan, K. A. (1988) · Journal of Parallel and Distributed Computing · doi:10.1016/0743-7315(88)90014-7 · Cited by 350
The Generation of Optimal Code for Arithmetic Expressions
Sethi, R., & Ullman, J. D. (1970) · Journal of the ACM · doi:10.1145/321607.321620 · Cited by 289
Register allocation via graph coloring
Briggs, P. (1992) · Cited by 244
Improving register allocation for subscripted variables
Callahan, D. P., Carr, S., & Kennedy, K. (2004) · ACM SIGPLAN Notices · doi:10.1145/989393.989428 · Cited by 244
Self-citation
Research works printed but not linked: 4
- ALLEN , F. AND COCKE , J. 1972 . A catalogue of optimizing transformations. In Design and Opttmzzation of Compilers. Prentice-Hail, Englewood Cliffs , N.J. , 1 - 30 .]] ALLEN, F. AND COCKE, J. 1972. A catalogue of optimizing transformations. In Design and Opttmzzation of Compilers. Prentice-Hail, Englewood Cliffs, N.J., 1-30.]]
- KENNEDY , K. AND MCKJNLEY , K. 1992 . Optimizing for parallelism and memory hierarchy . In Proceedings of the 1992 International Conference on Supercomputing. ACM , New York , 323 - 334 .]] 10.1145/143369.143427 KENNEDY, K. AND MCKJNLEY, K. 1992. Optimizing for parallelism and memory hierarchy. In Proceedings of the 1992 International Conference on Supercomputing. ACM, New York, 323-334.]] 10.1145/143369.143427 · DOI
- KUCK , D. , KUHN , R. , LEASURE , B. , AND WOLFE , M. 1984. The structure of an advanced retargetable vectorizer . In Supercomputers: Destgn and Apphcattons . IEEE Computer Society Press , Los Alamitos , Calif., 163-178]] KUCK, D., KUHN, R., LEASURE, B., AND WOLFE, M. 1984. The structure of an advanced retargetable vectorizer. In Supercomputers: Destgn and Apphcattons. IEEE Computer Society Press, Los Alamitos, Calif., 163-178]]
- MEADOWS , L , NAKAMOTO , S. , AND SCHUSTER , V 1992. A vectonzing, sot~ware pipelinmg campller for LIW and superscalar architectures In Proceedings of RISC '92.]] MEADOWS, L, NAKAMOTO, S., AND SCHUSTER, V 1992. A vectonzing, sot~ware pipelinmg campller for LIW and superscalar architectures In Proceedings of RISC '92.]]
Cited by
Williams, S., Waterman, A., & Patterson, D. A. (2009) · Communications of the ACM · doi:10.1145/1498765.1498785 · Cited by 2,798
Lam, M. S. (2004) · ACM SIGPLAN Notices · doi:10.1145/989393.989420 · Cited by 889
Improving data locality with loop transformations
McKinley, K. S., Carr, S., & Tseng, C. (1996) · ACM Transactions on Programming Languages and Systems · doi:10.1145/233561.233564 · Cited by 539
Self-citationPredicting whole-program locality through reuse distance analysis
Ding, C., & Zhong, Y. (2003) · ACM SIGPLAN Notices · doi:10.1145/780822.781159 · Cited by 263
Improving register allocation for subscripted variables
Callahan, D. P., Carr, S., & Kennedy, K. (2004) · ACM SIGPLAN Notices · doi:10.1145/989393.989428 · Cited by 244
Self-citationPredicting whole-program locality through reuse distance analysis
Ding, C., & Zhong, Y. (2003) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/781131.781159 · Cited by 208
Combined Selection of Tile Sizes and Unroll Factors Using Iterative Compilation
Knijnenburg, P. M. W., Kisuki, T., & O’boyle, M. F. P. (2003) · The Journal of Supercomputing · doi:10.1023/a:1020989410030 · Cited by 204
The architecture of the DIVA processing-in-memory chip
Draper, J., Chame, J., Hall, M. W., Steele, C. S., Barrett, T. M., LaCoss, J., Granacki, J. J., Shin, J., Chen, C., Kang, C. W., et al. (2002) · International Conference on Supercomputing · doi:10.1145/514191.514197 · Cited by 202
Predicting Unroll Factors Using Supervised Classification
Stephenson, M., & Amarasinghe, S. P. (2005) · Proceedings of the CGO/Proceedings of the ... CGO · doi:10.1109/cgo.2005.29 · Cited by 185
Program locality analysis using reuse distance
Zhong, Y., Shen, X., & Ding, C. (2009) · ACM Transactions on Programming Languages and Systems · doi:10.1145/1552309.1552310 · Cited by 166
Combining Models and Guided Empirical Search to Optimize for Multiple Levels of the Memory Hierarchy
Chen, C., Chame, J., & Hall, M. W. (2005) · Proceedings of the CGO/Proceedings of the ... CGO · doi:10.1109/cgo.2005.10 · Cited by 114
Williams, S., Waterman, A., & Patterson, D. (2009) · doi:10.2172/1407078 · Cited by 110
A compiler approach to fast hardware design space exploration in FPGA-based systems
So, B., Hall, M. W., & Diniz, P. C. (2002) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/512529.512550 · Cited by 107
A quantitative analysis of loop nest locality
McKinley, K. S., & Temam, O. (1996) · International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) · doi:10.1145/237090.237161 · Cited by 103
Loop Transformation Recipes for Code Generation and Auto-Tuning
Hall, M. W., Chame, J., Chen, C., Shin, J., Rudy, G., & Khan, M. M. (2010) · Lecture notes in computer science · doi:10.1007/978-3-642-13374-9_4 · Cited by 104
Combining loop transformations considering caches and scheduling
Wolf, M. E., Maydan, D. E., & Chen, D.-K. (2002) · IEEE/ACM International Symposium on Microarchitecture (MICRO) · doi:10.1109/micro.1996.566468 · Cited by 97
Optimizing Sparse Matrix–Vector Product Computations Using Unroll and Jam
Mellor‐Crummey, J., & Garvin, J. (2004) · The International Journal of High Performance Computing Applications · doi:10.1177/1094342004038951 · Cited by 91
Evaluating Iterative Compilation
Fursin, G., O’boyle, M. F. P., & Knijnenburg, P. M. W. (2005) · Lecture notes in computer science · doi:10.1007/11596110_24 · Cited by 87
Auto-tuning performance on multicore computers
Patterson, D. A., & Williams, S. (2008) · Cited by 75
Quantifying the Multi-Level Nature of Tiling Interactions
Mitchell, N., Högstedt, K., Carter, L., & Jeanne Ferrante, Y. (1998) · International Journal of Parallel Programming · doi:10.1023/a:1018782528453 · Cited by 75
A Programming Language Interface to Describe Transformations and Code Generation
Rudy, G., Khan, M. M., Hall, M. W., Chen, C., & Chame, J. (2011) · Lecture notes in computer science · doi:10.1007/978-3-642-19595-2_10 · Cited by 77
Optimal loop unrolling for GPGPU programs
Murthy, G. S., Ravishankar, M., Baskaran, M. M., & Sadayappan, P. (2010) · IEEE International Parallel and Distributed Processing Symposium (IPDPS) · doi:10.1109/ipdps.2010.5470423 · Cited by 71
Applying the Roofline Performance Model to the Intel Xeon Phi Knights Landing Processor
Doerfler, D. W., Deslippe, J. R., Williams, S., Oliker, L., Cook, B., Kurth, T., Lobet, M., Malas, T. B., Vay, J.-L., & Vincenti, H. (2016) · Lecture notes in computer science · doi:10.1007/978-3-319-46079-6_24 · Cited by 64
POET: a scripting language for applying parameterized source‐to‐source program transformations
Yi, Q. (2011) · Software Practice and Experience · doi:10.1002/spe.1089 · Cited by 61
Optimized unrolling of nested loops
Sarkar, V. (2000) · International Conference on Supercomputing · doi:10.1145/335231.335246 · Cited by 60
Bodík, R., Gupta, R., & Soffa, M. L. (1999) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/301618.301643 · Cited by 60
Transforming loops to recursion for multi-level memory hierarchies
Yi, Q., Adve, V., & Kennedy, K. (2000) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/349299.349323 · Cited by 57
Self-citationQuantifying loop nest locality using SPEC'95 and the perfect benchmarks
McKinley, K. S., & Temam, O. (1999) · ACM Transactions on Computer Systems · doi:10.1145/329466.329484 · Cited by 56
Compiler-Controlled Caching in Superword Register Files for Multimedia Extension Architectures
Shin, J., Chame, J., & Hall, M. W. (2002) · Cited by 54
Improving software pipelining with unroll-and-jam
Carr, S., Ding, C., & Sweany, P. H. (1996) · Hawaii International Conference on System Sciences (HICSS) · doi:10.1109/hicss.1996.495462 · Cited by 54
Self-citationCompiler-Directed Dynamic Frequency and Voltage Scheduling
Hsu, C., Kremer, U., & Hsiao, M. S. (2001) · Lecture notes in computer science · doi:10.1007/3-540-44572-2_6 · Cited by 54
Combining optimization for cache and instruction-level parallelism
Carr, S. (2002) · International Conference on Parallel Architectures and Compilation Techniques (PACT) · doi:10.1109/pact.1996.552672 · Cited by 50
Self-citationMidkiff, S. P. (2012) · Synthesis lectures on computer architecture · doi:10.2200/s00340ed1v01y201201cac019 · Cited by 49
Qasem, A., Kennedy, K., & Mellor‐Crummey, J. (2006) · The Journal of Supercomputing · doi:10.1007/s11227-006-7957-2 · Cited by 47
Self-citationOCEANS: Optimizing compilers for embedded applications
Aarts, B. J., Barreteau, M., Bodin, F., Brinkhaus, P., Chamski, Z., Charles, H., Eisenbeis, C., Gurd, J. R., Hoogerbrugge, J., Hu, P., et al. (1997) · Lecture notes in computer science · doi:10.1007/bfb0002894 · Cited by 46
Bridging the Gap between Compilation and Synthesis in the DEFACTO System
Diniz, P. C., Hall, M. W., Park, J.-S., So, B., & Ziegler, H. E. (2003) · Lecture notes in computer science · doi:10.1007/3-540-35767-x_4 · Cited by 46
Increasing temporal locality with skewing and recursive blocking
Jin, G., Mellor‐Crummey, J., & Fowler, R. J. (2001) · ACM/IEEE Conference on Supercomputing (SC) · doi:10.1145/582034.582077 · Cited by 46
Single-dimension software pipelining for multidimensional loops
Rong, H., Tang, Z., Govindarajan, R., Douillet, A., & Gao, G. R. (2007) · ACM Transactions on Architecture and Code Optimization · doi:10.1145/1216544.1216550 · Cited by 42
Single-dimension software pipelining for multi-dimensional loops
Rong, H., Tang, Z., Govindarajan, R., Douillet, A., & Gao, G. R. (2004) · NOT FOUND REPOSITORY (Indian Institute of Science Bangalore) · doi:10.5555/977395.977657 · Cited by 39
Defensive loop tiling for shared cache
Bao, B., & Ding, C. (2013) · Proceedings of the CGO/Proceedings of the ... CGO · doi:10.1109/cgo.2013.6495008 · Cited by 38
Analyzing memory access intensity in parallel programs on multicore
Liu, L., Li, Z., & Sameh, A. (2008) · International Conference on Supercomputing · doi:10.1145/1375527.1375579 · Cited by 38
Using estimates from behavioral synthesis tools in compiler-directed design space exploration
So, B., Diniz, P. C., & Hall, M. W. (2003) · ACM/IEEE Design Automation Conference (DAC) · doi:10.1109/dac.2003.1219061 · Cited by 38
Register tiling in nonrectangular iteration spaces
Jimenez, M. M., Llabería, J. M., & Fernández, A. (2002) · ACM Transactions on Programming Languages and Systems · doi:10.1145/567097.567101 · Cited by 36
Optimized Unrolling of Nested Loops
Sarkar, V. (2001) · International Journal of Parallel Programming · doi:10.1023/a:1012246031671 · Cited by 36
Coarse-grain pipelining on multiple FPGA architectures
Ziegler, H. E., So, B., Hall, M. W., & Diniz, P. C. (2003) · IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) · doi:10.1109/fpga.2002.1106663 · Cited by 34
Increasing the Applicability of Scalar Replacement
So, B., & Hall, M. W. (2004) · Lecture notes in computer science · doi:10.1007/978-3-540-24723-4_13 · Cited by 33
An innovative low-power high-performance programmable signal processor for digital communications
Moreno, J. H., Zyuban, V. V., Shvadron, U., Neeser, F., Derby, J. H., Ware, M., Kailas, K. K., Zaks, A., Geva, A., Ben-David, S., et al. (2003) · IBM Journal of Research and Development · doi:10.1147/rd.472.0299 · Cited by 33
Unroll-and-jam using uniformly generated sets
Carr, S., & Guan, Y. (1997) · doi:10.5555/266800.266835 · Cited by 33
Self-citationAutomatic Restructuring of GPU Kernels for Exploiting Inter-thread Data Locality
Unkule, S., Shaltz, C., & Qasem, A. (2012) · Lecture notes in computer science · doi:10.1007/978-3-642-28652-0_2 · Cited by 31
Optimizing loop performance for clustered VLIW architectures
Yi, Q., Carr, S., & Sweany, P. H. (2002) · doi:10.5555/645989.674315 · Cited by 29
Self-citationQuantifying the multi-level nature of tiling interactions
Mitchell, N., Carter, L., Jeanne Ferrante, Y., & Högstedt, K. (1998) · Lecture notes in computer science · doi:10.1007/bfb0032680 · Cited by 29
The Impact of Loop Unrolling on Controller Delay in High Level Synthesis
Kurra, S. (2008) · Cited by 28
A layout-conscious iteration space transformation technique
Kandemir, M., Ramanujam, J., Choudhary, A., & Banerjee, P. (2001) · IEEE Transactions on Computers · doi:10.1109/tc.2001.970571 · Cited by 28
Automatic mapping of C to FPGAs with the DEFACTO compilation and synthesis system
Diniz, P. C., Hall, M. W., Park, J., So, B., & Ziegler, H. E. (2004) · Microprocessors and Microsystems · doi:10.1016/j.micpro.2004.06.007 · Cited by 26
Improving Performance with Integrated Program Transformations
Jin, G., Mellor‐Crummey, J., & Qasem, A. (2004) · Rice Research Repository (Rice University) · Cited by 25
Compiler blockability of dense matrix factorizations
Carr, S., & Lehoucq, R. B. (1997) · ACM Transactions on Mathematical Software · doi:10.1145/275323.275325 · Cited by 24
Self-citationThe Impact of Loop Unrolling on Controller Delay in High Level Synthesis
Kurra, S., Singh, N. K., & Panda, P. R. (2007) · Design, Automation, and Test in Europe · doi:10.1109/date.2007.364623 · Cited by 23
Transforming Complex Loop Nests for Locality
Yi, Q., Kennedy, K., & Adve, V. (2004) · The Journal of Supercomputing · doi:10.1023/b:supe.0000011386.69245.f5 · Cited by 23
Self-citationData Partitioning on Heterogeneous Multicore Platforms
Zhong, Z., Rychkov, V., & Lastovetsky, A. (2011) · IEEE International Conference on Cluster Computing (CLUSTER) · doi:10.1109/cluster.2011.64 · Cited by 22
Automating the construction of compiler heuristics using machine learning
Amarasinghe, S. P., & Stephenson, M. W. (2006) · Cited by 22
Loop fusion for clustered VLIW architectures
Yi, Q., Carr, S., & Sweany, P. H. (2002) · ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES) · doi:10.1145/513829.513850 · Cited by 22
Self-citationAutomated programmable control and parameterization of compiler optimizations
Yi, Q. (2011) · Proceedings of the CGO/Proceedings of the ... CGO · doi:10.1109/cgo.2011.5764678 · Cited by 21
Combining Worst-Case Timing Models, Loop Unrolling, and Static Loop Analysis for WCET Minimization
Lokuciejewski, P., & Marwedel, P. (2009) · Euromicro Conference on Real-Time Systems (ECRTS) · doi:10.1109/ecrts.2009.9 · Cited by 21
Combining Loop Transformations Considering Caches and Scheduling
Wolf, M. E., Maydan, D. E., & Chen, D.-K. (1998) · International Journal of Parallel Programming · doi:10.1023/a:1018754616274 · Cited by 21
Iterative Compilation and Performance Prediction for Numerical Applications
Fursin, G. (2004) · ERA · Cited by 21
Vectorization-aware loop unrolling with seed forwarding
Rocha, R. C. O., Porpodas, V., Petoumenos, P., Góes, L. F. W., Wang, Z., Cole, M., & Leather, H. (2020) · doi:10.1145/3377555.3377890 · Cited by 20
Adams, M. D., & Wise, D. S. (2006) · doi:10.1145/1178597.1178604 · Cited by 19
A method for estimating optimal unrolling times for nested loops
Koseki, A., Komastu, H., & Fukazawa, Y. (2002) · International Symposium on Pervasive Systems, Algorithms and Networks (ISPAN) · doi:10.1109/ispan.1997.645123 · Cited by 19
Yi, Q., & Quinlan, D. (2005) · Lecture notes in computer science · doi:10.1007/11532378_19 · Cited by 19
A Matrix-Based Approach to Global Locality Optimization
Kandemir, M., Choudhary, A., Ramanujam, J., & Banerjee, P. (1999) · Journal of Parallel and Distributed Computing · doi:10.1006/jpdc.1999.1552 · Cited by 18
Register Tiling for Unstructured Sparsity in Neural Network Inference
Wilkinson, L., Cheshmi, K., & Dehnavi, M. M. (2023) · Proceedings of the ACM on Programming Languages · doi:10.1145/3591302 · Cited by 17
A Comprehensive Survey of Benchmarks for Improvement of Software's Non-Functional Properties
Blot, A., & Petke, J. (2025) · ACM Computing Surveys · doi:10.1145/3711119 · Cited by 17
Nelson, Y. L., Bansal, B., Hall, M. W., Nakano, A., & Lerman, K. (2008) · IEEE International Parallel and Distributed Processing Symposium (IPDPS) · doi:10.1109/ipdps.2008.4536189 · Cited by 17
Improving Memory Hierarchy Performance through Combined Loop Interchange and Multi-Level Fusion
Yi, Q., & Kennedy, K. (2004) · The International Journal of High Performance Computing Applications · doi:10.1177/1094342004038956 · Cited by 17
Self-citationInstruction Balance and Its Relation to Program Energy Consumption
Li, T., & Ding, C. (2003) · Lecture notes in computer science · doi:10.1007/3-540-35767-x_5 · Cited by 16
Exploiting superword-level locality in multimedia extension architectures
Shin, J., Chame, J., & Hall, M. W. (2003) · Cited by 15
Automatic blocking of QR and LU factorizations for locality
Yi, Q., Kennedy, K., You, H., Seymour, K., & Dongarra, J. J. (2004) · doi:10.1145/1065895.1065898 · Cited by 15
Self-citationDependence-Based Code Generation for a CELL Processor
Zhao, Y. F., & Kennedy, K. (2007) · Springer eBooks · doi:10.1007/978-3-540-72521-3_6 · Cited by 15
Self-citationUnroll-and-jam using uniformly generated sets
Carr, S., & Guan, Y. (2002) · IEEE/ACM International Symposium on Microarchitecture (MICRO) · doi:10.1109/micro.1997.645832 · Cited by 15
Self-citationThe Energy Impact of Aggressive Loop Fusion
Zhu, Y., Magklis, G., Scott, M. L., Ding, C., & Albonesi, D. H. (2003) · UR Research (University of Rochester) · Cited by 15
Path-Sensitive, Value-Flow Optimizations of Programs
ik, R. B. ́. (1999) · Cited by 15
Developing Systems for Real-Time Streaming Analysis
Michalak, S., DuBois, A., DuBois, D. H., Wiel, S. V., & Hogden, J. (2012) · Journal of Computational and Graphical Statistics · doi:10.1080/10618600.2012.657144 · Cited by 14
Bodík, R., Gupta, R., & Soffa, M. L. (1999) · ACM SIGPLAN Notices · doi:10.1145/301631.301643 · Cited by 14
Compiler-controlled caching in superword register files for multimedia extension architectures
Shin, J., Chame, J., & Hall, M. W. (2003) · International Conference on Parallel Architectures and Compilation Techniques (PACT) · doi:10.1109/pact.2002.1106003 · Cited by 14
A compiler approach to fast hardware design space exploration in FPGA-based systems
So, B., Hall, M. W., & Diniz, P. C. (2002) · ACM SIGPLAN Notices · doi:10.1145/543552.512550 · Cited by 13
ECO: an empirical-based compilation and optimization system
Baradaran, N., Chame, J., Chen, C., Diniz, P. C., Hall, M. W., Lee, Y.-J., Liu, B., & Lucas, R. F. (2004) · IEEE International Parallel and Distributed Processing Symposium (IPDPS) · doi:10.1109/ipdps.2003.1213377 · Cited by 13
Code Transformations to Improve Memory Parallelism
Pai, V. S., Yelectrical, S. A., & Engineering, C. (2014) · Cited by 13
Single-dimension software pipelining for multi-dimensional loops
Rong, H., Tang, Z., Govindarajan, R., Douillet, A., & Gao, G. R. (2004) · Proceedings of the CGO/Proceedings of the ... CGO · doi:10.1109/cgo.2004.1281672 · Cited by 13
World-highest resolution global atmospheric model and its performance on the Earth Simulator
Takahashi, K., Azami, A., Tochihara, Y., Kubo, Y., Itakura, K., Goto, K., Kataumi, K., Takahara, H., Isobe, Y., Okura, S., et al. (2011) · doi:10.1145/2063348.2063376 · Cited by 12
Balancing Locality and Parallelism on Shared-cache Mulit-core Systems
Cade, M. J., & Qasem, A. (2009) · IEEE International Conference on High Performance Computing and Communications; IEEE International Conference on Smart City; IEEE International Conference on Data Science and Systems (HPCC/SmartCity/DSS) · doi:10.1109/hpcc.2009.61 · Cited by 12
Code transformations to improve memory parallelism
Pai, V. S., & Adve, S. V. (2003) · IEEE/ACM International Symposium on Microarchitecture (MICRO) · doi:10.1109/micro.1999.809452 · Cited by 12
Specializing Compiler Optimizations through Programmable Composition for Dense Matrix Computations
Yi, Q., Wang, Q., & Cui, H. (2014) · IEEE/ACM International Symposium on Microarchitecture (MICRO) · doi:10.1109/micro.2014.14 · Cited by 11
Extending the Applicability of Scalar Replacement to Multiple Induction Variables
Baradaran, N., Diniz, P. C., & Park, J. (2005) · Lecture notes in computer science · doi:10.1007/11532378_32 · Cited by 11
Model-Guided Empirical Optimization for Multimedia Extension Architectures: A Case Study
Chen, C., Shin, J., Kintali, S., Chame, J., & Hall, M. W. (2007) · IEEE International Parallel and Distributed Processing Symposium (IPDPS) · doi:10.1109/ipdps.2007.370641 · Cited by 10
Comparing and Combining Read Miss Clustering and Software Prefetching
Pai, V. S., & Adve, S. V. (2001) · doi:10.5555/645988.674165 · Cited by 10
An Energy Consumption Model for GPU Computing at Instruction Level
Wang, H., & Chen, Q. (2012) · International Journal of Advancements in Computing Technology · doi:10.4156/ijact.vol4.issue2.24 · Cited by 9
Wichmann, K.-R., Kronbichler, M., Löhner, R., & Wall, W. A. (2018) · The International Journal of High Performance Computing Applications · doi:10.1177/1094342018774126 · Cited by 9
Transforming loops to recursion for multi-level memory hierarchies
Yi, Q., Adve, V., & Kennedy, K. (2000) · ACM SIGPLAN Notices · doi:10.1145/358438.349323 · Cited by 9
Self-citationEmpirical Optimization for a Sparse Linear Solver: A Case Study
Lee, Y.-J., Diniz, P. C., Hall, M. W., & Lucas, R. F. (2005) · International Journal of Parallel Programming · doi:10.1007/s10766-005-3581-7 · Cited by 9
A case study using empirical optimization for a large, engineering application
Diniz, P. C., Lee, Y.-J., Hall, M. W., & Lucas, R. F. (2004) · IEEE International Parallel and Distributed Processing Symposium (IPDPS) · doi:10.1109/ipdps.2004.1303225 · Cited by 9
Metadata
- Authors
- Carr, S., & Kennedy, K.
- Affiliations
- Michigan Technological University (US)
- Rice University (US)
- ORCID
- Carr, Steve
- Venue
- ACM Transactions on Programming Languages and Systems
- Published
- 1994-11
- Volume
- 16
- Issue
- 6
- Pages
- 1768-1810
- ISSN
- 0164-0925 (ISSN-L)
- 1558-4593
- OpenAlex
- W2138007781
- Cited by
- 155
- References
- 30
- Citations by year
- 2026: 2 · 2025: 5 · 2024: 3 · 2023: 1 · 2021: 1 · 2020: 1 · 2018: 1 · 2017: 1 · 2016: 2 · 2015: 2 · 2014: 4 · 2013: 1 · 2012: 8
- FWCI
- 3.90
- Type
- journal article
- Language
- en
- Open access
- bronze
- doi.org
- Locations
- ACM Transactions on Programming Languages and Systems (publishedVersion)
- Digital Commons - Michigan Tech (Michigan Technological University) (submittedVersion)
- Topics
- Physical Sciences › Computer Science › Hardware and Architecture › Parallel Computing and Optimization Techniques
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Physical Sciences › Computer Science › Hardware and Architecture › Embedded Systems Design Techniques
- Keywords
- loop transformation, memory hierarchy, compiler optimization, floating-point performance, scientific kernels
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review