From the Publisher:
The book series Loop Transformations for Restructuring Compilers has been designed to provide a complete mathematical theory of transformations, that can be used to automatically change a sequential program containing FORTRAN-like do loops into an equivalent parallel form. Dependence Analysis is directed toward graduate and advanced undergraduate students, and professional writers of restructuring compilers.
Cited By
- Guo J and Ying M (2023). Software Pipelining for Quantum Loop Programs, IEEE Transactions on Software Engineering, 49:4, (2815-2828), Online publication date: 1-Apr-2023.
- Zhao J and Zhao R (2018). K-DT, The Journal of Supercomputing, 74:4, (1655-1675), Online publication date: 1-Apr-2018.
- Plangger R and Krall A Vectorization in PyPy's Tracing Just-In-Time Compiler Proceedings of the 19th International Workshop on Software and Compilers for Embedded Systems, (67-76)
- Babenko L, Burtyka P, Makarevich O and Trepacheva A The general model of secure computation system Proceedings of the 8th International Conference on Security of Information and Networks, (177-184)
- Kempf S, Veldema R and Philippsen M Compiler-Guided identification of critical sections in parallel code Proceedings of the 22nd international conference on Compiler Construction, (204-223)
- Banerjee U (2011). Mathematical foundation of trace scheduling, ACM Transactions on Programming Languages and Systems (TOPLAS), 33:3, (1-24), Online publication date: 1-Apr-2011.
- Nicolau A and Kejariwal A How many threads to spawn during program multithreading? Proceedings of the 23rd international conference on Languages and compilers for parallel computing, (166-183)
- Nicolau A, Li G and Kejariwal A Techniques for efficient placement of synchronization primitives Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming, (199-208)
- Nicolau A, Li G and Kejariwal A (2009). Techniques for efficient placement of synchronization primitives, ACM SIGPLAN Notices, 44:4, (199-208), Online publication date: 14-Feb-2009.
- Nicolau A, Li G, Veidenbaum A and Kejariwal A Synchronization optimizations for efficient execution on multi-cores Proceedings of the 23rd international conference on Supercomputing, (169-180)
- Torkey F, Salah A, El Desouky N and Gomaa S Affine and unimodular transformations for non-uniform nested loops Proceedings of the 12th WSEAS international conference on Computers, (414-419)
- Kejariwal A, Tian X, Girkar M, Li W, Kozhukhov S, Banerjee U, Nicolau A, Veidenbaum A and Polychronopoulos C Tight analysis of the performance potential of thread speculation using spec CPU 2006 Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, (215-225)
- Wu J and Chu C (2007). An exact data dependence testing method for quadratic expressions, Information Sciences: an International Journal, 177:23, (5316-5328), Online publication date: 1-Dec-2007.
- Chang W, Chu C and Wu J (2005). A Polynomial-Time Dependence Test for Determining Integer-Valued Solutions in Multi-Dimensional Arrays Under Variable Bounds, The Journal of Supercomputing, 31:2, (111-135), Online publication date: 1-Feb-2005.
- Qiao L, Huang W and Tang Z A static data dependence analysis approach for software pipelining Proceedings of the 2005 IFIP international conference on Network and Parallel Computing, (213-220)
- Turjan A, Kienhuis B and Deprettere E Translating affine nested-loop programs to process networks Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems, (220-229)
- Bulić P and Guštin V On dependence analysis for SIMD enhanced processors Proceedings of the 6th international conference on High Performance Computing for Computational Science, (527-540)
- Bulić P and Guštin V (2003). An extended ANSI C for processors with a multimedia extension, International Journal of Parallel Programming, 31:2, (107-136), Online publication date: 1-Apr-2003.
- Schweitz E and Agrawal D (2002). A Parallelization Domain Oriented Multilevel Graph Partitioner, IEEE Transactions on Computers, 51:12, (1435-1441), Online publication date: 1-Dec-2002.
- Bik A, Girkar M, Grey P and Tian X Automatic detection of saturation and clipping idioms Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing, (61-74)
- Hoeflinger J, Paek Y and Yi K (2001). Unified Interprocedural Parallelism Detection, International Journal of Parallel Programming, 29:2, (185-215), Online publication date: 1-Apr-2001.
- Barua R, Lee W, Amarasinghe S and Agarawal A (2001). Compiler Support for Scalable and Efficient Memory Systems, IEEE Transactions on Computers, 50:11, (1234-1247), Online publication date: 1-Nov-2001.
- Artigas P, Gupta M, Midkiff S and Moreira J Automatic loop transformations and parallelization for Java Proceedings of the 14th international conference on Supercomputing, (1-10)
- Moreira J, Midkiff S, Gupta M, Artigas P, Snir M and Lawrence R (2000). Java programming for high-performance numerical computing, IBM Systems Journal, 39:1, (21-56), Online publication date: 1-Jan-2000.
- Paek Y, Hoeflinger J and Padua D Simplification of array access patterns for compiler optimizations Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, (60-71)
- Paek Y, Hoeflinger J and Padua D (1998). Simplification of array access patterns for compiler optimizations, ACM SIGPLAN Notices, 33:5, (60-71), Online publication date: 1-May-1998.
- Lengauer C, Gorlatch S and Herrmann C (2019). The Static Parallelization of Loops and Recursions, The Journal of Supercomputing, 11:4, (333-353), Online publication date: 1-Dec-1997.
- Cheng J Task dependence nets for concurrent systems with Ada 95 and its applications Proceedings of the conference on TRI-Ada '97, (67-78)
Recommendations
Classical dependence analysis techniques: sufficiently accurate in practice
HICSS '95: Proceedings of the 28th Hawaii International Conference on System SciencesData dependence analysis is the foundation of any parallelizing compiler. The GCD (greatest common divisor) test and the Banerjee-Wolfe test (U. Banerjee 1988, M. Wolfe 1989) are the two tests traditionally used to determine statement data dependence in ...
Exploitation of parallelism to nested loops with dependence cycles
In this paper, we analyze the recurrences from the breakability of the dependence links formed in general multi-statements in a nested loop. The major findings include: (1) A sink variable renaming technique, which can reposition an undesired anti-...