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. |
||