repa.ouroborus.net
repa
http://repa.ouroborus.net/wiki/WikiStart
Repa (REgular PArallel arrays). 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. Repa means "turnip" in Russian. If you don't like turnips then this library probably isn't for you. Repa is split up into a few packages to help control dependencies. Frequently Asked Questions ...
repa.ouroborus.net
repa
http://repa.ouroborus.net/wiki
Repa (REgular PArallel arrays). 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. Repa means "turnip" in Russian. If you don't like turnips then this library probably isn't for you. Repa is split up into a few packages to help control dependencies. Frequently Asked Questions ...
mega-nerd.com
m3ga blog
http://www.mega-nerd.com/erikd/Blog/CodeHacking/DDC/index.html
Sat, 01 Jan 2011. LLVM Backend for DDC : Very Nearly Done. The LLVM backend for DDC. That I've been working on sporadically since June. Is basically done. When compiling via the LLVM backend, all but three of 100 tests in the DDC test suite pass. The tests that pass when going via the C backend but fail via the LLVM backend are of two kinds:. Construct to name a C macro to perform a type cast where the macro is defined in one of C header files. All in all, I think doing this LLVM backend has been an inte...
disciple-devel.blogspot.com
Disciple Development: Array fusion using the lowering transform
http://disciple-devel.blogspot.com/2013/05/array-fusion-using-lowering-transform.html
More info at the The Disciplined Disciple Compiler (DDC) Development Wiki. Easy tickets to get started with: on the trac. Wednesday, May 1, 2013. Array fusion using the lowering transform. I'm getting back into blogging. This is current work in progress. Repa 4 will include a GHC plugin that performs array fusion using a version of Richard Waters's series expressions system, extended to support the segmented operators we need for Data Parallel Haskell. Process : Stream k Int - Int. Fold 0 s fold (*) 1 s.
disciple-devel.blogspot.com
Disciple Development: May 2013
http://disciple-devel.blogspot.com/2013_05_01_archive.html
More info at the The Disciplined Disciple Compiler (DDC) Development Wiki. Easy tickets to get started with: on the trac. Friday, May 3, 2013. First working program using the Repa plugin. Repa process : R.Stream k Int - Int repa process s = R.fold 0 s R.fold (*) 1 s. Actual well formed GHC Core code. Or at least the parts that get printed with -dsuppress-all. Repa process repa process = @ k aq6 arg s2Rf - let { (# x1 s2R6, x1 acc s2R5 #). Case =# ix s2Rr ds1 s2Rs of { False - let { (# x7 s2RF, x0 s2RC #).
disciple-devel.blogspot.com
Disciple Development: January 2013
http://disciple-devel.blogspot.com/2013_01_01_archive.html
More info at the The Disciplined Disciple Compiler (DDC) Development Wiki. Easy tickets to get started with: on the trac. Tuesday, January 1, 2013. Code Generators, Rewrite Rules, Aliasing and the Coq. DDC 03.1 was pushed onto Hackage. The main features in this new release are:. Lots more program transformations. You can apply program transformations to core programs on the command line, and check that the code is being optimised the way it should be. There is a tutorial. Describing how to do this. Propa...
disciple-devel.blogspot.com
Disciple Development: May 2011
http://disciple-devel.blogspot.com/2011_05_01_archive.html
More info at the The Disciplined Disciple Compiler (DDC) Development Wiki. Easy tickets to get started with: on the trac. Wednesday, May 25, 2011. Proofs and mutual recursion. Quick update. I'm still working on mechanising the proofs for the DDC core language in Coq. So far I've made it through Progress, Preservation and the correspondence between Big and Small step semantics for Simply Typed Lambda Calculus. Of the schemes I might want, but it doesn't cover all of the use-cases. The problem (I think...
disciple-devel.blogspot.com
Disciple Development: April 2011
http://disciple-devel.blogspot.com/2011_04_01_archive.html
More info at the The Disciplined Disciple Compiler (DDC) Development Wiki. Easy tickets to get started with: on the trac. Tuesday, April 19, 2011. Falling down the naming well. Over the last month or so I've started to formalise the proofs of the DDC core language in Coq. The existing proofs were just getting too big to manage by hand, and typing them all up in Latex was seeming like a less and less fun thing to do. Being a Coq-newbie I started with Benjamin Pierce and co's Software Foundations.
disciple-devel.blogspot.com
Disciple Development: February 2012
http://disciple-devel.blogspot.com/2012_02_01_archive.html
More info at the The Disciplined Disciple Compiler (DDC) Development Wiki. Easy tickets to get started with: on the trac. Thursday, February 2, 2012. Vectorisation without Replication in Data Parallel Haskell. Here is a Barnes-Hut. Gravitation simulation written using Data.Vector. Now you've seen the video, the following graph sums up my work on Data Parallel Haskell (DPH) for the past six months:. Posted by Ben Lippmeier. Subscribe to: Posts (Atom). Vectorisation without Replication in Data Parallel.