Mehta et al., 2014 - Google Patents
Revisiting loop fusion in the polyhedral frameworkMehta et al., 2014
View PDF- Document ID
- 6984951274943303365
- Author
- Mehta S
- Lin P
- Yew P
- Publication year
- Publication venue
- Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
External Links
Snippet
Loop fusion is an important compiler optimization for improving memory hierarchy performance through enabling data reuse. Traditional compilers have approached loop fusion in a manner decoupled from other high-level loop optimizations, missing several …
- 230000004927 fusion 0 title abstract description 205
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
- G06F17/30286—Information retrieval; Database structures therefor; File system structures therefor in structured data stores
- G06F17/30386—Retrieval requests
- G06F17/30424—Query processing
- G06F17/30442—Query optimisation
- G06F17/30448—Query rewriting and transformation
- G06F17/30474—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
- G06F17/30286—Information retrieval; Database structures therefor; File system structures therefor in structured data stores
- G06F17/30386—Retrieval requests
- G06F17/30424—Query processing
- G06F17/30533—Other types of queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
- G06F8/452—Loops
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/30—Arrangements for executing machine-instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Programme initiating; Programme switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/30—Arrangements for executing machine-instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/50—Computer-aided design
- G06F17/5045—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F19/00—Digital computing or data processing equipment or methods, specially adapted for specific applications
- G06F19/10—Bioinformatics, i.e. methods or systems for genetic or protein-related data processing in computational molecular biology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2217/00—Indexing scheme relating to computer aided design [CAD]
- G06F2217/12—Design for manufacturability
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mehta et al. | Revisiting loop fusion in the polyhedral framework | |
Pouchet et al. | Polyhedral-based data reuse optimization for configurable computing | |
Chatarasi et al. | Marvel: A data-centric approach for mapping deep learning operators on spatial accelerators | |
Grosser et al. | Hybrid hexagonal/classical tiling for GPUs | |
Bondhugula et al. | A practical automatic polyhedral parallelizer and locality optimizer | |
Bondhugula et al. | Diamond tiling: Tiling techniques to maximize parallelism for stencil computations | |
Grosser et al. | Split tiling for GPUs: automatic parallelization using trapezoidal tiles | |
Bondhugula et al. | Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model | |
Grosser et al. | Polyhedral AST generation is more than scanning polyhedra | |
Bondhugula et al. | Pluto: A practical and fully automatic polyhedral program optimization system | |
Liu et al. | A compiler framework for extracting superword level parallelism | |
Morvan et al. | Polyhedral bubble insertion: A method to improve nested loop pipelining for high-level synthesis | |
Alle et al. | Runtime dependency analysis for loop pipelining in high-level synthesis | |
Mehta et al. | Variable liberalization | |
Shen et al. | Performance traps in OpenCL for CPUs | |
Bondhugula et al. | A model for fusion and code motion in an automatic parallelizing compiler | |
Zuo et al. | Accurate high-level modeling and automated hardware/software co-design for effective SoC design space exploration | |
US11372629B1 (en) | Systems and methods for tensor scheduling | |
Acharya et al. | Effective loop fusion in polyhedral compilation using fusion conflict graphs | |
Zinenko et al. | Unified polyhedral modeling of temporal and spatial locality | |
Bhattacharyya et al. | Automatic speculative parallelization of loops using polyhedral dependence analysis | |
US10095494B2 (en) | Systems and methods for footprint based scheduling | |
Sharma et al. | Array interleaving—an energy-efficient data layout transformation | |
Prechelt et al. | Efficient parallel execution of irregular recursive programs | |
Ganser et al. | Speeding up iterative polyhedral schedule optimization with surrogate performance models |