[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

Larsen, 2011 - Google Patents

Simple optimizations for an applicative array language for graphics processors

Larsen, 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 …
Continue reading at bradfordlarsen.com (PDF) (other versions)

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • G06F8/4442Reducing the number of cache misses; Data prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/456Parallelism detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/50Computer-aided design
    • G06F17/5009Computer-aided design using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/44Arrangements for executing specific programmes
    • G06F9/4421Execution paradigms
    • G06F9/4428Object-oriented
    • G06F9/443Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/44Arrangements for executing specific programmes
    • G06F9/455Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformations of program code
    • G06F8/52Binary to binary
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3457Performance 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.