From 700ff4c55987acc59ef5c558589a671f00c798fc Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Wed, 28 May 2014 23:26:14 -0500 Subject: [PATCH] Add README --- README.rst | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 README.rst diff --git a/README.rst b/README.rst new file mode 100644 index 000000000..f94d0e414 --- /dev/null +++ b/README.rst @@ -0,0 +1,41 @@ +Loopy lets you easily generate the tedious, complicated code that is necessary +to get good performance out of GPUs and multi-core CPUs. + +Loopy's core idea is that a computation should be described simply and then +*transformed* into a version that gets high performance. This transformation +takes 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) +* Loopy 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, and + Fast-Multipole-type computations + +It is not (and does not want to be) a general-purpose programming language. + +Loopy is licensed under the liberal `MIT license +`_ and free for commercial, academic, +and private use. To use Loopy, you just need `pyopencl +`_. + +Places on the web related to Loopy: + +* `Python package index `_ (read how things work) + .. image:: https://badge.fury.io/py/loo.py.png + :target: http://pypi.python.org/pypi/loo.py +* `Github