Thesis Topic Details

Topic ID:
3413
Title:
Array fusion and finite element analysis in parallel Haskell
Supervisor:
Ben Lippmeier
Research Area:
Parallel Systems, Simulation, Programming Languages
Associated Staff
Assessor:
Manuel Chakravarty
Topic Details
Status:
Active
Type:
R & D
Programs:
CS CE SE
Group Suitable:
No
Industrial:
No
Pre-requisites:
--
Description:
Finite element analysis is a standard technique to find solutions to the partial differential equations that model physical processes, such as fluid flow and rigid body systems (eg bridges, machines, cloth simulation).

Repa is a Haskell library for high level parallel programming on shared memory multicore machines. Repa includes an array fusion mechanism that allows successive operations on an array to be specified at a high level, and then "fused" into efficient object code. The fused code (ideally) gives performance comparable with C and Fortran code that would be less fun to write.

A new version of Repa is currently under development, which supports the sparse matrix operations that are needed to implement finite element analyses. The goal of this project would be to implement some finite element simulations, using Repa style array fusion, and use this experience to help improve the Repa library. Ideally, the simulations should display some interactive graphics, so they can serve as cool demos.

The Repa homepage is here [1]. The current version is described in [2]. We have an existing Haskell graphics library called Gloss [3] which should be enough for 2D graphics. Gloss could be extended to the 3D case if needed. Videos of some existing demos using Gloss and Repa are available on youtube [4]

[1] http://repa.ouroborus.net/
[2] http://www.cse.unsw.edu.au/~benl/papers/guiding/guiding-Haskell2012.pdf
[3] http://gloss.ouroborus.net/
[4] http://www.youtube.com/user/benl23x5
Comments:
--
Past Student Reports
 
No Reports Available. Contact the supervisor for more information.

Check out all available reports in the CSE Thesis Report Library.

NOTE: only current CSE students can login to view and select reports to download.