Version 3 (modified by benl, 4 years ago)

--

Repa (REgular PArallel arrays)

This is the developer's wiki for the Repa array library.

Repa provides high performance, regular, multi-dimensional, shape polymorphic parallel arrays. All numeric data is stored unboxed. Functions written with the Repa combinators are automatically parallel provided you supply +RTS -Nwhatever on the command line when running the program.

Caveats

  • Repa currently depends on the head branch of GHC to get decent performance. If you compile it with 6.12 then it'll run, but the programs will be very slow. It's been tested with GHC > 6.13.20100309.
  • For performance reasons, we don't do bounds checking when indexing arrays. Indexing outside an array will likely cause heap corruption.
  • Repa means "turnip" in Russian. If you don't like turnips then this library probably isn't for you.

State of Play

This section records what the Repa developers are actively working on. If you're hacking on something Repa related then by all means add yourself here. Records are dropped off if they haven't been updated for more than a month.

Ben (benl23) -- updated 28th April 2010

  • The first version has just been released, and I'm working on getting the trac set up.
  • I'm loading all outstanding issues into the tracker, and will put up pictures showing the output of some of the examples.
  • I'm planning to split the core of the example programs into repa-algorithms, so they're easier to reuse.
  • I need to use a better image format than ASCII PPM for the Laplace and FFT examples. Reading and writing >10k ASCII doubles is very slow.
  • I'll also add some more examples. I've got QR decomposition and a fluid flow solver in mind.