Back to directory

Loopy

A Python library that generates high-performance CPU and GPU code for array-based computations, such as dense linear algebra and PDE solvers, by transforming a simple description under the user's control.

Loopy

Loopy generates the detailed, high-performance code needed for array-type computations on GPUs and multi-core CPUs, such as dense linear algebra, convolutions, n-body interactions, and PDE solvers using finite element, finite difference, or fast multipole methods. Its central idea is that a computation should be described simply, then transformed, under explicit user control from Python, into a version tuned for good performance.

Supported transformations include vector and multi-core parallelism targeting the OpenCL and CUDA models, data-layout changes between structure-of-arrays and array-of-structures, loop unrolling and tiling with boundary handling, prefetching and copy optimizations, and instruction-level parallelism. It is not intended as a general-purpose programming language, but as a tool for producing optimized kernels for a specific class of array computations.

It installs from the Python Package Index and works alongside pyopencl, and is distributed under the MIT license.

More in Libraries

See all 292
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • TradeCanvas

    bonguynvan.github.io

    A zero-dependency canvas charting engine for building TradingView-style trading charts in JavaScript, with 66 technical indicators, 24 drawing tools, 17 chart types, and real-time streaming.

  • 3d retro graphics

    3d-retro.com

    A free, CC0-licensed library of copy-paste retro 3D and demoscene graphics effects, such as plasma, raytracing, and voxel terrain, runnable as WebGL 1 or plain 2D canvas.