Larsen, 2011 - Google Patents
Simple optimizations for an applicative array language for graphics processorsLarsen, 2011
View PDF- Document ID
- 3688037441079166945
- Author
- Larsen B
- Publication year
- Publication venue
- Proceedings of the sixth workshop on Declarative aspects of multicore programming
External Links
Snippet
Graphics processors (GPUs) are highly parallel devices that promise high performance, and they are now flexible enough to be used for general-purpose computing. A programming language based on implicitly data-parallel collective array operations can permit high-level …
- 230000004927 fusion 0 abstract description 20
Classifications
-
- 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
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- 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/456—Parallelism detection
-
- 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/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- 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/5009—Computer-aided design using simulation
-
- 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
-
- 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/44—Arrangements for executing specific programmes
- G06F9/4421—Execution paradigms
- G06F9/4428—Object-oriented
- G06F9/443—Object-oriented method invocation or resolution
-
- 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/44—Arrangements for executing specific programmes
- G06F9/455—Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/52—Binary to binary
-
- 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/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Catanzaro et al. | Copperhead: compiling an embedded data parallel language | |
Chakravarty et al. | Accelerating Haskell array codes with multicore GPUs | |
Sujeeth et al. | Delite: A compiler architecture for performance-oriented embedded domain-specific languages | |
Maruyama et al. | Physis: an implicitly parallel programming model for stencil computations on large-scale GPU-accelerated supercomputers | |
Klöckner et al. | PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation | |
Bergstrom et al. | Nested data-parallelism on the GPU | |
Prasad et al. | Automatic compilation of MATLAB programs for synergistic execution on heterogeneous processors | |
Kamil | Productive high performance parallel programming with auto-tuned domain-specific embedded languages | |
Larsen | Simple optimizations for an applicative array language for graphics processors | |
Fumero et al. | Runtime code generation and data management for heterogeneous computing in java | |
Orchard et al. | Ypnos: declarative, parallel structured grid programming | |
Garg et al. | Compiling python to a hybrid execution environment | |
Yelick et al. | Parallel languages and compilers: Perspective from the Titanium experience | |
Grove et al. | Supporting array programming in X10 | |
Wang et al. | Paralleljs: An execution framework for javascript on heterogeneous systems | |
Katel et al. | High performance gpu code generation for matrix-matrix multiplication using mlir: some early results | |
Ernstsson | Pattern-based programming abstractions for heterogeneous parallel computing | |
Khan et al. | RT-CUDA: a software tool for CUDA code restructuring | |
Anderson | A framework for composing high-performance opencl from python descriptions | |
Ciznicki et al. | Scaling the gcr solver using a high-level stencil framework on multi-and many-core architectures | |
Kuzma et al. | Fast matrix multiplication via compiler‐only layered data reorganization and intrinsic lowering | |
Christen | Generating and auto-tuning parallel stencil codes | |
Garg | A compiler for parallel execution of numerical Python programs on graphics processing units | |
Soest | Compiling Second-Order Accelerate Programs to First-Order TensorFlow Graphs | |
Stavåker et al. | Compilation of Modelica Array Computations into Single Assignment C for Efficient Execution on CUDA-enabled GPUs. |