Ticket #1535 (closed proposed-project: fixed)

Opened 1 year ago

Last modified 3 months ago

A data parallel physics engine

Reported by: rl Assigned to:
Priority: OK Keywords:
Cc: roma@ro-che.info Topic: Games
Difficulty: unknown Mentor: not-accepted

Description (Last modified by rl)

The goal is to implement a high-performance, parallel physics engine using Data Parallel Haskell. Nested data parallelism is a powerful programming model for parallel applications. Although still in its infancy, the implementation of NDP in GHC is now sufficiently mature to support fairly complex algorithms. A physics engine would be an ideal case study and testbed for DPH and would be immensely helpful for its further development. It would also allow Haskell to be used in new application areas: physics simulations, virtual reality environments, games (such as Frag) etc.

This project should not only be highly motivating for interested students, but also benefits the community in the following ways:

  1. Physics engines are an important building block for a range of interesting applications that profit from Haskell's high level programming model - this includes physical simulations, virtual reality, educational software, visualisation software.
  1. The strong industry push towards multicore processors provides a new motivation for strict control of side effects. This is a great opportunity for functional languages and a strong and interesting case study would be very helpful in this domain.
  1. It would significantly accelerate the implementation of the widely anticipated support for nested data parallelism in Haskell.

Interested Mentors

Interested Students

Change History

03/09/08 18:48:19 changed by chak

  • description changed.

03/11/08 07:34:14 changed by Feuerbach

  • description changed.

03/18/08 14:21:50 changed by nominolo

  • priority set to bad.

Please note the Cafe discussion: http://groups.google.com/group/fa.haskell/browse_thread/thread/6fe229d51dfa5bc3/23502b858d705056

It is more likely to be accepted if the focus is on creating a more general-purpose library. Marking as "bad" for GSoC purposes in its current form.

03/18/08 19:38:56 changed by rl

  • description changed.

03/18/08 19:39:16 changed by rl

  • priority changed from bad to OK.

03/18/08 19:47:40 changed by rl

We have changed the description to be more explicit about the benefits to the community. The main question, however, is not even necessarily if a physics engine will be immediately useful to a large number of people. The question is if helping out with the implementation of NDP is good for GSoC purposes. If the answer to that is yes, then this is the best way of helping us.

Accordingly, I've set the priority to OK. Please, let's base the discussion of this project on its merits and not on an obscure haskell-cafe thread which doesn't even really discuss its usefulness.

03/18/08 21:47:28 changed by dons

Any work that will help benchmark parallel Haskell program, or improve the data parallel arrays library, is likely to benefit us all in the next few years. When explicitly put as work on helping with data parallel Haskell, I think the benefits are much clearer.

Simply put: we need more parallel programs, to push on all areas of the toolchain related to parallelism (libraries, runtime, parallel GC).

03/21/08 12:25:06 changed by Feuerbach

  • cc set to roma@ro-che.info.

03/23/09 11:33:37 changed by Feuerbach

  • status changed from new to closed.
  • resolution set to fixed.