- Notifications
You must be signed in to change notification settings - Fork76
A code generator for array-based code on CPUs and GPUs
License
inducer/loopy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Loopy lets you easily generate the tedious, complicated code that is necessaryto get good performance out of GPUs and multi-core CPUs.Loopy's core idea is that a computation should be described simply and thentransformed into a version that gets high performance. This transformationtakes place under user control, from within Python.
It can capture the following types of optimizations:
- Vector and multi-core parallelism in the OpenCL/CUDA model
- Data layout transformations (structure of arrays to array of structures)
- Loop unrolling
- Loop tiling with efficient handling of boundary cases
- Prefetching/copy optimizations
- Instruction level parallelism
- and many more!
Loopy targets array-type computations, such as the following:
- dense linear algebra,
- convolutions,
- n-body interactions,
- PDE solvers, such as finite element, finite difference, andFast-Multipole-type computations.
It is not (and does not want to be) a general-purpose programming language.
Loopy is licensed under the liberalMIT license and free for commercial, academic,and private use. All of Loopy's dependencies can be automatically installed fromthe package index after using:
pip install loopy
In addition, Loopy is compatible with and enhancespyopencl.
---
Places on the web related to Loopy:
- Python Package Index (download releases)
- Documentation (read how things work)
- Github (get latest source code, file bugs)
- Homepage
- Benchmarks
About
A code generator for array-based code on CPUs and GPUs
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.